私は2つのテーブルを持っています。Laravel 5.3ブレードforeachループ:2つの異なるデータベースの雄弁なクエリからのループでデータを表示
- ContentTypeを
- コンテンツ
たContentTypeは私に、コンテンツタイプのリストを返し、私はforeachのをページ上に表示されます。例えば救急車サービス、血液銀行、診療所などに表示されます。
同時に、別のテーブル(コンテンツ)から各タイプのコンテンツの総数を取得しています。
私は各タイプの内容の合計数を取得し、foreachでブレードに表示することに成功しました。 しかし、すべてのコンテンツタイプにコンテンツの数を表示したいのですが。 クリニック4 、この 救急流通サービス8、 血液銀行7のような私の制御方法であって
public function index()
{
if (Gate::allows('edit-content', auth()->user())) {
// below line returns list of content type e.g Ambulance service
$type = DB::table('contenttype')->distinct('label')->orderBy('label', 'asc')->paginate(10);
//below line counts the number of each content type e.g. Ambulance service 10.
$count = Content::selectRaw('type, count(*)total')->groupBy('type')->get();
return view('admin.content_listing', compact('type', 'count'));
} else {
abort(403, "Unauthorized");
}
}
これは、ブレード・コードである:
@foreach ($count as $c)
<span class="label label-danger">{{ $c->total }} </span>
@endforeach
出力: もし私が2番目のループに上記のループを置くなら、もちろんそれは望んでいないネストされたループになります。
私は誰もが解決策を知っている場合親切にそれを共有
血液銀行1、 など、救急車8、 美容クリニック8を表示する必要があります! 私はさまざまな方法を試みましたが、成功しませんでした。