Lravel5.5 View Blade 取得した都道府県全件データから、配列で指定した市町村の名前を、カンマ区切りで表示する。
要件
取得した都道府県全件データから(オブジェクトをEloquentで取得する。)
配列で指定した市町村の名前を(例[13101,13102,13015])
カンマ区切りで表示する。(最後はつけない。)
やりたいこと
クエリでは全件取得してるが、viewではその一部だけが欲しい時というのがたまにある。
今回はviewでwhereInを使用してすべて解決する。(コレクションを使用する。)
ソースコード
@foreach($results["mst_prefectures"] as $k => $pref)
@foreach($pref->mstCity->whereIn("id", $results["city_ids"]) as $key => $mst_city)
@if (!$loop->first)
,
@endif
{{ $mst_city->name }}
@endforeach
@endforeach
あとがき
foreachで全件をまわしてin_arrayやarray_searchなど?を使って配列に含まれてるものだけを抽出する方法もがあるが、スマートに思えていなかったので今回の方法をとることにした。
無駄がないし、$loop->first $loop->lastもつかえて便利である。
0
投稿者:通りがりすの人 / 投稿日:2018-06-22 14:11:32 / PV数:995 / コメント数:0
コメント 0
コメント投稿