このコードは、見つかったデータのfirst
のみを示しています。最初のデータのみが表示されます。同じIDのすべてのデータを表示するにはどうすればよいですか?
public function getGroupInfo($eg_id){
$members = \App\EventGroupMembers::where('eg_id', '=', $eg_id)->get();
if ($members->count() > 0) {
$user = \App\User::find($members[0]->user_id);
echo $user->first_name;
} else {
return false;
}
}
表event_group_members
eg_id user_id
1 1
2 2
2 3
3 4
3 5
表user
user_id first_name
1 tony
2 steve
3 bruce
4 thor
5 clint
私は同じeg_id
ですべてfirst_names
を表示するために何をすべき?
はちょっとそれはIDのみを示すが、名前はしませんでした。そして** echo $ member-> first_name; **を使用すると、何も表示されません。 –
foreach($ members as $ member){ \t \t \t $ user = \ App \ User :: where( 'user_id' '='、$ member-> user_id) - >値( 'first_name'); –
@Noob、このソリューションはN + 1個のクエリを作成し、広告はアプリを終了させます。テーブルに20000人のユーザーがいる場合、アプリケーションは20001のDBクエリを実行します。 https://laravel.com/docs/5.3/eloquent-relationships#eager-loading –