Lorsque nous effectuons des requêtes sur la base de données Laravel, nous devons généralement spécifier des champs spécifiques à récupérer. Laravel propose plusieurs manières différentes d'atteindre cet objectif. Voici une introduction détaillée à ces méthodes :
La méthode select() de Laravel est le moyen le plus basique de récupérer un champ spécifique. Nous pouvons spécifier les champs à retourner via cette méthode. Par exemple, voici un exemple d'interrogation des champs nom et email dans la table utilisateurs :
$users = DB::table('users') ->select('name', 'email') ->get();
À partir de l'instruction ci-dessus, nous pouvons voir qu'il suffit de transmettre les champs à récupérer dans la méthode select(). Cela renvoie un tableau contenant les valeurs des champs nom et e-mail.
Dans certains cas, nous devrons peut-être ajouter des champs à renvoyer dans les opérations de requête existantes. À ce stade, vous pouvez utiliser la méthode addSelect(). Par exemple, voici un exemple d'interrogation de tous les champs de la table des utilisateurs et d'ajout d'un champ country :
$users = DB::table('users') ->addSelect('country') ->get();
À partir de l'instruction ci-dessus, nous pouvons voir qu'il nous suffit de transmettre le champ à ajouter dans la méthode addSelect() . Cela renvoie un tableau contenant toutes les valeurs de champ et la valeur du champ du pays.
Si nous avons seulement besoin de récupérer la valeur d'un champ spécifique, nous pouvons utiliser la méthode pluck(). Par exemple, voici un exemple d'interrogation de la valeur du champ email dans la table users :
$email = DB::table('users')->where('name', 'John')->pluck('email');
D'après l'instruction ci-dessus, nous pouvons voir qu'il suffit de transmettre le champ à récupérer dans la méthode pluck(). Cela renvoie la valeur du champ.
Semblable à la méthode pluck(), la méthode value() récupère uniquement la valeur d'un champ spécifique. Cependant, contrairement à la méthode pluck(), elle renvoie une valeur unique plutôt qu'un tableau. Par exemple, voici un exemple d'interrogation de la valeur du champ email dans la table users :
$email = DB::table('users')->where('name', 'John')->value('email');
D'après l'instruction ci-dessus, nous pouvons voir qu'il suffit de transmettre le champ à récupérer dans la méthode value(). Cela renvoie la valeur du champ.
Il existe également une manière plus avancée de récupérer un champ spécifique. Si nous devons récupérer des données de plusieurs tables et filtrer les données en fonction de certaines conditions, nous pouvons utiliser la méthode selectRaw(). Par exemple, voici un exemple d'interrogation de champs spécifiques dans la table des commandes et la table des produits :
$orders = DB::table('orders') ->selectRaw('price * ? as total_price', [2]) ->whereIn('id', [1, 2, 3]) ->get();
À partir de l'instruction ci-dessus, nous pouvons voir que nous avons écrit une requête SQL brute dans la méthode selectRaw() pour calculer le prix total. Nous utilisons également la méthodewhereIn() pour spécifier l'identifiant des commandes à récupérer, et la méthode get() pour obtenir les résultats de la requête.
Résumé
Lorsque vous effectuez des requêtes de base de données dans Laravel, il est très courant de devoir spécifier des champs spécifiques à récupérer. Nous pouvons utiliser des méthodes telles que select(), addSelect(), pluck(), value() et selectRaw() pour atteindre cet objectif. Ces méthodes offrent différentes flexibilités et capacités, nous permettant de choisir la méthode appropriée en fonction des besoins spécifiques des requêtes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!