


Apprentissage Laravel - exemple de partage de code pour les opérations de base de données et les constructeurs de requêtes
en interne. La méthode délègue l'accès aux méthodes membresRécemment, l'éditeur étudie ce qui est connu comme le meilleur framework au monde – Laravel. En fait, le framework d'apprentissage, c'est aussi l'idée de framework d'apprentissage ! Je souhaite enregistrer certaines de mes expériences d'apprentissage de Laravel sur mon blog. Vous êtes invités à suivre mes autres blogs et petits livres Github pour communiquer entre eux !
Version : Laravel 5.2
pour exécuter directement la requête SQL, et l'autre consiste à utiliser la méthode statique de la classe Model (en fait aussi l'implémentation de Facade, qui utilise l'accès statique pour accéder au modèle et utilise la magie
Base de données : mysql 5.7
PHP7.1 L'une consiste à utiliser la méthode statique de l'objet d'apparence
Opération de requêteUtilisez l'instruction SQL pour exécuter l'opération de requête de sélection #
Le résultat est un tableau, et chaque valeur du tableau est renvoyée pour un objet, vous pouvez également utiliser la liaison nommée DB
<.>callStatic
Obtenir toutes les colonnes de données de la table de données#
$results = DB::select('select * from users where id = ?', [1]);foreach ($results as $res) { echo $res->name; }
StdClass
Si vous n'avez besoin que de la valeur d'une colonne, vous pouvez utiliser la méthode value pour obtenir directement la valeur d'une seule colonne
$results = DB::select('select * from users where id = :id', ['id' => 1]);
$users = DB::table('users')->get(); foreach ($users as $user) { var_dump($user->name); }
$user = DB::table('users')->where('name', 'John')->first(); echo $user->name;
Par exemple, nous voulons interroger toutes les
valeurs de champ$email = DB::table('users')->where('name', 'John')->value('email');
La fonction
a ici deux paramètresDB::table('users')->chunk(100, function($users){ foreach ($users as $user) { // } });
false
, etc.title
$titles = DB::table('roles')->pluck('title');foreach ($titles as $title) { echo $title; }
pluck
Requête les colonnes spécifiées#
Collection pluck( string $column, string|null $key = null)
Si vous avez spécifié select, mais que vous souhaitez ajouter à nouveau des champs, utilisez la méthode addSelect
$roles = DB::table('roles')->pluck('title', 'name');foreach ($roles as $name => $title) { echo $title; }
Requête pour différents résultats distincts#
count,max,min,avg,sum
Utiliser l'expression native
$users = DB::table('users')->count(); $price = DB::table('orders')->max('price'); $price = DB::table('orders')->where('finalized', 1)->avg('price');
peut injecter le fragment SQL requis dans la requête, mais cette méthode n'est pas recommandée si elle est mal utilisée, l'injection SQL. peut se produire
$users = DB::table('users')->select('name', 'email as user_email')->get();
Opération de jointure
$query = DB::table('users')->select('name');$users = $query->addSelect('age')->get();
$users = DB::table('users')->distinct()->get();
Left Join# Utilisez la méthode leftJoin pour effectuer une opération de jointure à gauche, les paramètres sont les mêmes que join $users =
DB::raw
Méthode de jointure avancée#
$users = DB::table('users') ->select(DB::raw('count(*) as user_count, status')) ->where('status', '<>', 1) ->groupBy('status') ->get();
Si vous souhaitez utiliser une colonne valeurs à comparer avec le tableau spécifié dans les contraintes de jointure, vous pouvez utiliser les méthodes Where et OrWhere
Opération Union$users = DB::table('users') ->join('contacts', 'users.id', '=', 'contacts.user_id') ->join('orders', 'users.id', '=', 'orders.user_id') ->select('users.*', 'contacts.phone', 'orders.price') ->get();
Pour utiliser l'opération Union, vous pouvez d'abord créer une requête , puis utilisez la méthode union pour lier la deuxième requête
DB::table('users') ->leftJoin('posts', 'users.id', '=', 'posts.user_id') ->get();
La méthode peut également être utilisée, avec les mêmes paramètres que union.
Conditions de requête Where
<p style="margin-top: 7px;">DB::table('users')<br/> ->join('contacts', function ($join) {<br/> $join->on('users.id', '=', 'contacts.user_id')->orOn(...);<br/> })<br/> ->get();<br/></p>
DB::table('users') ->join('contacts', function ($join) { $join->on('users.id', '=', 'contacts.user_id') ->where('contacts.user_id', '>', 5); }) ->get();
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Comment implémenter la fonction du tableau de Cliquez sur personnalisé pour ajouter des données dans DCATADMIN (Laravel-Admin) lors de l'utilisation de DCAT ...

Laravel - Dump Server - Le serveur de dump Laravel est livré avec la version de Laravel 5.7. Les versions précédentes n'incluent aucun serveur de dump. Le serveur de vidage sera une dépendance de développement dans le fichier laravel/laravel composer.

L'impact du partage des connexions redis dans Laravel Framework et sélectionnez Méthodes Lors de l'utilisation de Laravel Framework et Redis, les développeurs peuvent rencontrer un problème: grâce à la configuration ...

Connexion de la base de données des locataires personnalisés dans le package d'extension multi-locataire Laravel Stancl / location Lors de la construction d'applications multi-locataires à l'aide du package d'extension multi-locataire Laravel Stancl / location, ...

Laravel - URL d'action - Laravel 5.7 introduit une nouvelle fonctionnalité appelée « URL d'action appelable ». Cette fonctionnalité est similaire à celle de Laravel 5.6 qui accepte la méthode string in action. L'objectif principal de la nouvelle syntaxe introduite par Laravel 5.7 est de diriger
