使用for循环显示所有项目 - laravel php

时间:2017-10-27 09:55:35

标签: php laravel

我可以获取属于所选国家/地区的所有城市名称,但我的问题在于以标签形式显示所有城市。这就是我的输出的样子:

输出

["Barcelona","Atlanta"]

如何使输出看起来像这样:

Barcelona

Atlanta

HTML

@foreach($countries as $country)
   <div class="panel">  
       {!!$country->city()->pluck('name');!!}             
   </div>
@endforeach

PS:laravel新手!

2 个答案:

答案 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