Ich brauche wirklich Hilfe mit diesen großen Fragen, die ich habe. Ich habe Baumtabelle:Laravel, Drei-Tabellen-Beziehung auf Eloquent
Unternehmen:
id | owner_id | name | address
-------------------------------------
1 | 5 | Google | 25 St RD
2 | 5 | Yahoo | 36 Ave St
3 | 11 |Microsoft| 1 Ave St
4 | 5 | Amazon | 25 St NE
Benutzer:
id | name | email | type
-------------------------------------
3 | Daniel | [email protected] | customers
4 | Dave | [email protected] | user
5 | Nancy | [email protected] | admin
6 | Robert | [email protected] | user
user_companies
id | user_id |parent_id| company_id
-------------------------------------
1 | 3 | 5 | 2
2 | 3 | 5 | 2
3 | 11 | 5 | 3
4 | 3 | 6 | 1
Ausgabe ein: Ich brauche alle Benutzer zurückzugeben, die gewesen sein mit Firma_i verbunden d 2 Dies ist der Code, den ich habe, aber er liefert keine korrekten Daten.
$CompanyList = DB::table('users')
->leftJoin('user_companies', 'users.id', '=', 'user_companies.parent_id')
->join('companies', 'users.id', '=', 'companies.user_id')->where('company_id', '=', 5)
->get(['users.name', 'users.email', 'user_companies.user_id']);
Hinweis: parent_id ist die ID von der das Unternehmen Datensatz erstellt. Ich benutze es woanders.
Ausgabe zwei: Ich habe die user_id 5 und ich brauche alle Unternehmen mit User_id zugeordnet zurückzukehren 5. Ich war mit dem gleichen Code zu versuchen, war aber nicht erfolgreich.
Jede Hilfe wird geschätzt.
Wenn ich korrigieren kann/verbessern Sie Ihre Abfrage, brauchen Sie nicht die für die Unternehmen, da Sie beitreten Filtern nach seiner ID (und Sie drucken keine Firmeninformationen), die Sie bereits in der Tabelle 'user_companies' haben. –
Was ist owner_id in Unternehmen Tabelle können Sie mir erklären? –
owner_id ist die ID der Person, die den Unternehmensdatensatz erstellt hat. Ich benutze es woanders. –