Lravel5.5 View Blade 取得した都道府県全件データから、配列で指定した市町村の名前を、カンマ区切りで表示する。

2018-06-22

995

通りがりすの人

関連メモ

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

sponsor

コメント 0

コメント投稿