Laravel Inner Join?
Je un PHP backend que je suis en train de changer pour utiliser le framework Laravel. Cependant, je ne suis pas tout à fait sûr de savoir comment les Laravel jointure interne fonctionne.
La requête SQL que je suis en train de passer à Laravel est:
"SELECT leagues.league_name FROM leagues INNER JOIN countries on leagues.country_id = countries.country_id WHERE countries.country_name = '$country' "
Quelqu'un pour être en mesure d'expliquer comment Laravel Rejoint le travail?
Excuses si cette question n'est pas adapté.
aussi, vous pouvez essayer ce paquet et les tables de jointure par rapport github.com/fico7489/laravel-eloquent-join
OriginalL'auteur xiimoss | 2017-01-12
Vous devez vous connecter pour publier un commentaire.
Il devrait être quelque chose comme ceci (n'ai pas testé):
$leagues
seront instance de laIlluminate\Support\Collection
objet, de sorte que vous pouvez parcourir à l'aide deforeach
par exemple.Vous pouvez passer de la 5e argument de la
join()
qui permet de spécifier le type de jointure (la valeur par défaut est "intérieure").Si vous utilisez Éloquent et avoir une "Ligue" modèle ensuite, vous pouvez utiliser le rejoindre sur le modèle de trop:
Dans ce cas,
$leagues
sera une instance deIlluminate\Database\Eloquent\Collection
qui s'étend régulièrement Laravel collections et vous donne un peu plus de fonctionnalités que des collections régulières.Cependant, il y a même un moyen plus facile d'écrire cela sans l'aide de jointures:
Remarque que dans cet exemple, "pays" n'est pas un nom de table, mais Éloquent nom de relation, de sorte que vous devez configurer vos relations avant d'utiliser cette approche.
Aussi, au lieu d'utiliser le rejoindre, cet exemple permet d'utiliser deux requêtes, ou une requête imbriquée, je ne suis pas sûr; mais quelque chose comme ceci:
SELECT league_name FROM leagues WHERE country_id IN (SELECT id FROM countries WHERE country_name='$country')
OriginalL'auteur Avram
C'est assez simple, peut-être qu'il aura plus de sens, juste pour voir votre requête en utilisant le générateur de requêtes.
Wow merci, je l'ai corrigé.
OriginalL'auteur user1669496