私はLaravelを初めて使い、MariaDB 10.0.xxでLaravel 5.2を学びました。Laravel 5.2メンバーリストを同じ行に表示するにはどうすればいいですか?(1対多(または多対多))データ表示
いくつかのテーブルがありますが、「メンバー」には「グループ」が多数あり、メンバーの名前と姓を同じ行にすでに参加しているグループの名前で表示したいと考えています。
これを達成するための明確なアイデアはありませんが、私は2つの別個のクエリ($ memberListsと$ groupLists)を作成し、最初のクエリ($ memberLists)を入力してグループリストを取得しますプライマリキーから2番目のクエリ($ groupLists)。
あなたが良いアイデアを持っている場合は、私にお知らせください。
私のコントローラ
$memberLists = DB::table('Member')
->select('firstNm','lastNm')
->join('Center', 'Member.mbrCd', '=', 'Center.mbrCd')
->join('Org', 'Center.orgCd', '=', 'Org.orgCd');
$groupLists = DB::table('Group')
->select('groupNm')
->join('Center','Center.orgCd','=','Group.orgCd')
->join('GroupMember ','GroupMember.mbrCd','=','Center.mbrCd')
->where ('GroupMember.mbrCd',$Member_primaryKey_from_memberLists);
view return view('member.memberList')
->with('memberLists', $memberLists)
->with('groupLists',$groupLists);
これはまあ
@extends('masterLayOut')
<table>
<thead>
<th> First Name </th>
<th> Last Name </th>
<th> Groups </th>
</thead>
<tbody>
@foreach ($memberLists as $memberList)
<tr>
<td> {{ memberList->firstNm}}</td>
<td> {{ memberList->lastNm }}</td>
<td> {{ groupLists->groupNm }} </td>
</tr>
@endforeach
</tbody>
<table>
これは正しく表示されません。 '$ memberList-> id'は、決して存在しない' $ groups'配列のインデックスでもあると仮定しています。 – Gravy
いいえあなたは正しいです。私はそれを編集するでしょう –
それはメンバーとグループの間に1対多数の関係のようには見えません。メンバー(mbrCdを持つ)は単一のグループしか持たないようです。あなたの意見を教えてください。 –