#laravel
#laravel
Вопрос:
У меня есть контроллер, подобный этому
public function print(Request $request)
{
$id = explode(',',$request->id);
$data = DeliveryOrder::whereIn('id', $id)->orderBy('created_at', 'desc')->get();
$dataku = DeliveryOrderResource::collection($data);
// return $dataku;
return view('warehouse.printdo', compact('dataku'));
}
Если я верну $dataku
,..
и затем я свяжу данные с блейд-Laravel, но я получаю сообщение об ошибке
Invalid argument supplied for foreach() (View: ,...resourcesviewswarehouseprintdo.blade.php)
Комментарии:
1. пожалуйста, предоставьте код в виде текста, а не изображения… почему вы передаете resouce в представление?
2. с помощью resource я могу легко отображать подробные данные из различных моделей, ..
3. Удалите первый foreach. Измените
row->do_details
на$dakatu->do_details
во 2-м foreach.
Ответ №1:
Как вы предоставили скриншот, у вас есть do_details
в first array
.
что, если у вас нет do_details
во втором массиве?
Вам нужно проверить условие, есть данные в каждом используемом вами forex или нет.
@if(!empty($row->do_details))
@foreach($row->do_details as $do => $detOrder)
//additional code
@endforeach
@endif