Maison  >  Article  >  cadre php  >  Exemples pour expliquer comment interroger les données de tables connectées dans Laravel

Exemples pour expliquer comment interroger les données de tables connectées dans Laravel

PHPz
PHPzoriginal
2023-04-07 17:02:42923parcourir

Laravel est un framework PHP open source Il se caractérise par sa simplicité, son élégance et prend en charge l'architecture MVC. En tant que l'un des outils préférés des développeurs PHP, le framework Laravel est largement apprécié pour son développement rapide, son excellente évolutivité et son excellent support de documentation. Parmi eux, les données de requête de la table de connexion de Laravel sont une fonction très importante. Présentons-la brièvement ci-dessous.

Dans la base de données, s'il existe des relations entre différentes tables, nous devons effectuer des requêtes de jointure basées sur ces relations pour obtenir les données requises. Il s'agit d'une requête de jointure de table. Ci-dessous, nous utiliserons des exemples pour apprendre à interroger les données de tables connectées dans Laravel.

  1. Créer deux tables de données

Avant d'écrire le code correspondant, nous devons d'abord créer deux tables de données pour tester la fonction de requête de table de jointure. Ici, nous prenons comme exemple la table des étudiants et la table des notes. Le tableau des étudiants comprend le numéro d'étudiant, le nom et la classe de l'étudiant, et le tableau des notes comprend le numéro d'étudiant, le nom de la matière et les notes. Après avoir créé les deux tables de données, vous devez établir le modèle correspondant dans Laravel.

  1. Requête des données de table connectées

La syntaxe de requête Laravel est très concise et élégante, et elle est également très pratique à utiliser. Voyons comment effectuer des requêtes de jointure de table via Laravel.

Nous définissons d'abord une méthode dans le modèle Student à associer au modèle Grade :

public function grades()
{
    return $this->hasMany('App\Grade', 'student_id', 'id');
}

La fonction de cette méthode est d'établir la relation entre les modèles Student et Grade hasMany indique qu'un élève peut correspondre aux notes de plusieurs. subject , donc une relation « un-à-plusieurs » est utilisée. Les deux paramètres suivants sont les noms de champs de la base de données correspondant à Laravel. Le premier paramètre représente le nom du champ utilisé pour associer la table des étudiants dans la table des notes, et le deuxième paramètre représente la clé primaire de la table des étudiants.

Ensuite, nous pouvons utiliser la méthode de requête de Laravel pour interroger les données de la table Student et de la table Grade. Supposons que nous devions interroger la carte d'étudiant de l'étudiant, le nom et les notes de toutes les matières, nous pouvons écrire le code suivant :

$students = Student::with('grades')->get();

Ce code renverra un tableau contenant toutes les informations sur l'étudiant et les notes correspondantes, nous devons donc utiliser une boucle foreach pour Parcourez ce tableau et affichez le nom, le numéro d'étudiant et les notes de chaque élève pour les matières correspondantes.

foreach ($students as $student) {
    echo $student->id . ' - ' . $student->name . '<br>';
    foreach ($student->grades as $score) {
        echo $score->grade . ' - ' . $score->subject . '<br>';
    }
}

Ce code affichera la carte d'étudiant, le nom et les informations sur la note de tous les étudiants. Comme le montre cet exemple, il est très pratique d'utiliser Laravel pour interroger des données dans des tables connectées, et la taille du code est très concise.

Résumé

Les données de requête de table de jointure de Laravel sont très simples, élégantes et pratiques. Grâce à la méthode d'association de modèles de Laravel, vous pouvez facilement établir des relations entre différents modèles. Lorsque vous utilisez des instructions de requête, il vous suffit d'appeler la méthode correspondante pour réaliser les fonctions de requête et de sortie, ce qui réduit considérablement la difficulté et la charge de travail du codage. La maîtrise de la fonction de requête de table de jointure de Laravel peut considérablement améliorer votre efficacité de développement et apporter plus de commodité à votre travail de développement.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn