我可以获取属于所选国家/地区的所有城市名称,但我的问题在于以标签形式显示所有城市。这就是我的输出的样子:
输出
["Barcelona","Atlanta"]
如何使输出看起来像这样:
Barcelona
Atlanta
HTML
@foreach($countries as $country)
<div class="panel">
{!!$country->city()->pluck('name');!!}
</div>
@endforeach
PS:laravel新手!
答案 0 :(得分:1)
看起来每个国家/地区都有很多城市,因此要避免N + 1问题,请先使用with()
方法加载数据:
$countries = Country::with('cities')->get();
确保关系为hasMany
:
public function cities()
{
return $this->hasMany(City::class);
}
然后遍历集合以显示每个城市名称:
@foreach($countries as $country)
<div class="panel">
@foreach ($country->cities as $city)
{{ $city->name }}
@endforeach
</div>
@endforeach
答案 1 :(得分:0)
您只需使用箭头即可访问模型的属性。这看起来像是:
$country->city->name