Попытка получить свойство не-объекта Laravel с установкой php5.6

Короче говоря:

В последней итерации

for(int i = 0; i<=name.length; i++) {

i будет равно name.length, что является незаконным индексом, так как индексы массива равны нулю, основанный.

Ваш код должен читать

for(int i = 0; i < name.length; i++) 
                 ^
0
задан Ahmed 4 March 2019 в 13:08
поделиться

4 ответа

Прежде всего убедитесь, что из вашего контроллера вы возвращаете объект $doc_data, потому что в вашем текущем коде оператор return закомментирован, поэтому я не знаю, что с этим.

Во-вторых, с вашей точки зрения, у вас есть код:

@foreach ( (array)$doc_data as $data )
          {{  $data->id }}
@endforeach

Вы в основном набираете тип $doc_data в массив самостоятельно, а затем пытаетесь получить к нему доступ как к объекту :) получить Trying to get property of non-object ошибку.

Либо используйте его как объект:

@foreach ( $doc_data as $data )
          {{  $data->id }}
@endforeach

ИЛИ используйте его как массив:

@foreach ( (array)$doc_data as $data )
          {{  $data['id'] }}
@endforeach

Не может быть в обоих направлениях:)

0
ответ дан Learner 4 March 2019 в 13:08
поделиться

Вы используете переменную $data для извлечения DocTracking данных,

далее вы перезаписываете $data массивом, который не содержит id

, также вы можете конвертировать результат в массиве с помощью функции toArray ()

$data = DocTracking::get()->toArray();

0
ответ дан Sharad Kale 4 March 2019 в 13:08
поделиться

Вы должны добавить ключ 'id' к вашему массиву данных (конечно, верните массив как 'doc_data', как вы делаете прямо сейчас):

$data = array(
    'id' => $id
    'name' => $request->name,
    'start_date' => Carbon::parse( $request->start_date),
    'end_date' => Carbon::parse( $request->end_date),
    'amount' => $request->amount,
    'merchant_id' => $user_id
);

return view('doctracking.doctracking', [
     'selluser' => $selluser, 
     'doc_data' => $data
]);

Доступ к нему так:

@foreach($doc_data as $data)
      {{ $data['id'] }}
@endforeach
0
ответ дан piscator 4 March 2019 в 13:08
поделиться

Вы должны вернуть представление в вашей индексной функции с параметром, который хотите передать.

$doc_data = DocTracking::all();
return view('doctracking.doctracking',compact('doc_data') );

и с учетом

@foreach($doc_data as $data)
  {{ $data->id }}
@endforeach
0
ответ дан Theodoros Alexopoulos 4 March 2019 в 13:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: