Как мне связать данные из данных ресурса с блейд-Laravel?

#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 ,..

Data Json

и затем я свяжу данные с блейд-Laravel, но я получаю сообщение об ошибке

 Invalid argument supplied for foreach() (View: ,...resourcesviewswarehouseprintdo.blade.php)
  

ppl

Комментарии:

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