我有四张桌子
城市
id
city
state_id
状态
id
name
City_Vendor
id
vendor_id
city_id
供应商
id
name
现在,如果我做这样的事情,我得到城市和state_id,但不是州名
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。做这件事最好的方法是什么?
假设你们有正确的关系,应该是这样的:
@foreach ($vendor->cities as $city)
{{ $vendor->city->city}}, {{$vendor->city->state->name}}
@endforeach
在上面代码中,您显示了一个具有州名的供应商城市
而不是:
Vendor::with('cities')->get();
您应该使用:
Vendor::with('cities.state')->get();