嗨,我有多个数据库表(“经销商,供应商,历史记录”),并试图在经销商索引中显示与经销商相关的供应商数据(在经销商表中,supplier_id被用作外键),但显示错误:为foreach()提供了无效的参数,试图通过以下方式从经销商索引中获取历史数据:、、、、、、、、、、、、、、、、、、。供应商ID 、、、、、、、、、、、
请注意,只有经销商显示在索引上,而我正在使用资源路线
索引代码:
create or replace function Function_Name(--Parameter_List--)
return number as
BEGIN
--Statements...
EXCEPTION
WHEN exception_1 THEN return 1;
WHEN exception_2 THEN return 2;
WHEN exception_3 THEN return 3;
END;
控制器代码:
@foreach ($data as $row)
<tr>
<td>{{ $row->dealer_name }}</td>
<td>
@foreach($row->supplier as $sp)
{{ $sp->supplier_name }}<br>
@endforeach
</td>
</tr>
@endforeach
供应商型号:
$data = Dealer::all();
return view('dealer.index', compact('data'));
所有其他型号都仅受此https://laravel.com/docs/5.8/eloquent-relationships#has-one-through
保护答案 0 :(得分:0)
ng serve
答案 1 :(得分:0)
正如您提到的经销商正在显示,那么问题一定出在@foreach($row->supplier as $sp)
由于错误说为foreach()提供了无效的参数,您需要验证$row->supplier
是数组。
@foreach ($data as $row)
<tr>
<td>{{ $row->dealer_name }}</td>
<td>
@if(is_array($row->supplier) && !empty($row->supplier))
@foreach($row->supplier as $sp)
{{ $sp->supplier_name }}<br>
@endforeach
@endif
</td>
</tr>
@endforeach