在Laravel eloquent中显示筛选供应商的采购订单基础列表
我试图在表格中显示供应商列表及其采购订单在Laravel eloquent中显示筛选供应商的采购订单基础列表,laravel,eloquent,Laravel,Eloquent,我试图在表格中显示供应商列表及其采购订单 ... @foreach ($vendor_list as $key => $vendorPoList) <tr> <td> {{ $vendorPoList}} </td> </tr> @endforeach ... 供应商模型 public function vendorPo() { return $this-&
...
@foreach ($vendor_list as $key => $vendorPoList)
<tr>
<td>
{{ $vendorPoList}}
</td>
</tr>
@endforeach
...
供应商模型
public function vendorPo()
{
return $this->hasMany('App\PurchasedOrder', 'vendor_id','vendor_id');
}
...
@foreach ($vendor_list as $key => $vendorPoList)
<tr>
<td>
{{ $vendorPoList}}
</td>
</tr>
@endforeach
...
供应商控制员
public function vendor()
{
$vendorPo = Vendor::with('vendorPo')
->get()
->keyBy('id')
->groupBy('vendor_name');
$purchaseOrders = PurchasedOrder::all()->where('publish','=','1');
return view('backend.purchase-order.vendor', compact('purchaseOrders'))
->with('vendorPo', $vendorPo);
}
...
@foreach ($vendor_list as $key => $vendorPoList)
<tr>
<td>
{{ $vendorPoList}}
</td>
</tr>
@endforeach
...
我的索引
@foreach ($vendorPo as $vendor => $vendor_list)
<tr>
<th colspan="7"
style="background-color: #F7F7F7"> {{ $vendor }}: ({{ $vendor_list->count() }} vendors)
</th>
</tr>
@foreach ($vendor_list as $key => $vendorPoList)
<tr>
<td>
{{ $vendorPoList->vendorPo->po_id}}
</td>
</tr>
@endforeach
@endforeach
...
@foreach ($vendor_list as $key => $vendorPoList)
<tr>
<td>
{{ $vendorPoList}}
</td>
</tr>
@endforeach
...
请帮帮我。谢谢 您之所以会遇到此问题,是因为您的
vendorPO
关系是一个有许多关系的关系。如果您从这种关系中提取记录,结果总是一个数组(即使只有一条记录),它总是通过Eloquent转换为集合
...
@foreach ($vendor_list as $key => $vendorPoList)
<tr>
<td>
{{ $vendorPoList}}
</td>
</tr>
@endforeach
...
因此,$vendorPoList->vendorPO
是一个集合,集合中没有名为po\u id
的变量
...
@foreach ($vendor_list as $key => $vendorPoList)
<tr>
<td>
{{ $vendorPoList}}
</td>
</tr>
@endforeach
...
根据您的数据模型,您应该重新访问关系,或者在$vendorPoList->vendorPO
上执行@foreach
...
@foreach ($vendor_list as $key => $vendorPoList)
<tr>
<td>
{{ $vendorPoList}}
</td>
</tr>
@endforeach
...