Ich habe die folgende Liste von Tabellen, die ich will Daten abzufragen vonLaravel DB Abfrage mehrere Tabellen verknüpft und Abrufen von bedingten Daten
users
id email
1 [email protected]
2 [email protected]
user_projects
project_id user_id role
1 1 member
1 2 owner
projects
id name
1 example project
ich die resultierenden Daten wie folgt
aussehen wollenproject_id name email role owner
1 example project [email protected] member [email protected]
Kurz gesagt, ich möchte die Liste der Projekte holen, zu denen der Benutzer gehört, zusammen mit seiner Rolle und dem Besitzer des Projekts.
kam ich mit der folgenden Abfrage auf
return DB::table('user_projects')
->join('projects', 'user_projects.project_id', '=', 'projects.id')
->join('users', 'user_projects.user_id', '=', 'users.id')
->where('user_projects.user_id', '=', $userId)
->select('users.email', 'projects.id', 'users.id as user_id','user_projects.role as userRole',
'projects.name')
->get()->toArray();
ich in der Lage bin, die Liste der Projekte zu erhalten und die Rolle des Benutzers in dem Projekt aber nicht in der Lage, den E-Mail-Eigentümer des Projektes zu finden.
Würdest du bitte mehr erklären- was meinst du mit E-Mail-Besitzer? –
benutzen Sie bitte select ('users. *') Und zeigen ihre Ausgabe an – hu7sy