est où permis après avoir obtenu () à Laravel Eloquant? Est-ce que cette base de données est une interrogation ou deux? P>
Étudiant :: Où ('Rank_ID', 1) -> Obtenez () -> Où ('ID', 29152); P> blockQuote>
3 Réponses :
Oui, il est autorisé comme étudiant :: Où ('Rank_ID', 1) -> Obtenez () Retourne la collection et vous pouvez chaîner des résultats de la collection en utilisant où. P>
Reportez-vous à Illuminate> Support> Collection.php Pour plus de détails sur les fonctions pouvant être utilisées sur une collection P>
Ce sera une requête comme votre chaînage sur la collecte la partie avant d'où («ID», 29152); Obtient des résultats de la base de données.
Cette partie étudiant :: Où (rank_id ', 1) -> get () code> effectuera une requête dans la base de données et le
-> où (' ID ', 29152) ; code> filtrera la collection déjà récupérée sans faire une autre requête. P>
Il faut ajouter qu'il est préférable d'utiliser où () code> sur le constructeur de requêtes que sur des collections dans la mesure du possible, car la performance des requêtes de la base de données est normalement meilleure. Ce qui est le mieux dépend du cas d'utilisation exacte et des autres détails.
Laravel se connecte à différentes bases de données utilise Connexions Code >
. Donc, jusqu'à ce que vous ne spécifiez aucune connexion:
dB :: connexion () code> li>
- ou en spécifiant
protégé $ connexion = 'second_db_connection'; code> dans l'un de vos modèles éloquents li>
ol> Vous traitez essentiellement d'une seule connexion par défaut qui signifie une seule base de données. p>
dans votre requête étudiant :: Où ("Rank_ID ', 1) -> Obtenez () -> où ('id', 29152) code>, il devrait être: p> xxx pré> C'est la syntaxe utilisée par requête Builder, qui est au format. -> get () code> est utilisé pour appliquer les sélections et les filtres que vous avez appliqués sur une requête. Alors où devrait être avant obtenir () code>. P> voir Documentation pour plus d'aide. P> P>