我有四张桌子
市
id
city
state_id
州
id
name
City_Vendor
id
vendor_id
city_id
供应商
id
name
现在,如果我这样做,我会得到城市和州名,但不是州名
Vendor::with('cities')->get();
这就是我所做的让我认为不合理的状态..
<?php foreach($vendor['cities'] as $state): ?>
@if($state['state_id'] == $city['state_id'])
{{$state['state']['state']}}
<?php break; ?>
@endif
<?php endforeach;?>
我想获得状态名称,而不仅仅是state_id。这样做最好的方法是什么?
答案 0 :(得分:1)
假设你有正确的关系,那应该是这样的:
@foreach ($vendor->cities as $city)
{{ $vendor->city->city}}, {{$vendor->city->state->name}}
@endforeach
在上面的代码中,您将显示一个州名为
的供应商城市而不是:
Vendor::with('cities')->get();
你应该使用:
Vendor::with('cities.state')->get();