php - Comment implémenter une requête multi-table dans Laravel
大家讲道理
大家讲道理 2017-05-18 10:47:22
0
1
1007

J'ai une vue qui affiche un panier sous forme de tableau. Chaque entrée du panier doit afficher les détails des fleurs actuellement achetées et la quantité achetée. Dans la base de données, il y a deux tableaux, fleur et panier. fleurs. Informations de base, telles que le nom de la fleur, etc., ces dernières contiennent des informations sur l'entrée du panier, y compris l'identifiant de l'utilisateur, l'identifiant de la fleur, la quantité achetée, etc. Pour obtenir les données du panier d'un utilisateur, je dois connecter les deux tables et renvoyer le résultat de la connexion à la vue

Mon projet contient deux modèles, à savoir Cart (article du panier) et Flower (fleur). Il existe également un contrôleur, à savoir CartController, qui contient une méthode pour obtenir les données du panier d'un utilisateur et les transmettre à la vue.

Voici quelques-unes de mes idées, mais comme je suis nouveau sur Laravel, je ne suis pas sûr de la faisabilité et des opérations spécifiques de mise en œuvre de ces idées, j'espère donc que vous pourrez me donner quelques conseils. Les idées spécifiques sont les suivantes :

  1. Ma base de données contient une vue des données du panier d'un utilisateur, j'envisage donc de lire les données directement à partir de la vue. Je ne trouve pas les deux méthodes du générateur de requêtes et d'Eloquent pour opérer sur la vue, j'envisage donc d'utiliser Native SQL

    .
  2. Requête multi-tables du générateur de requêtes

  3. Association Eloquent, j'ai déjà utilisé Eloquent, donc je veux continuer à l'utiliser, j'ai donc découvert le point de connaissance de l'association, mais d'après la documentation, j'ai des doutes quant à sa capacité à effectuer des requêtes multi-tables

Je ne suis en contact avec Laravel que depuis peu de temps, donc il peut y avoir beaucoup de choses qui font rire les gens dans les questions ci-dessus. Si vous avez des suggestions pour mes questions, n'hésitez pas à les donner, merci !

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(1)
伊谢尔伦

Laissez-moi vous écrire une démo, et vous pourrez la modifier comme vous le souhaitez selon votre propre style

DB::table('users')
    ->join('contacts', 'users.id', '=', 'contacts.user_id')
    ->join('orders', 'users.id', '=', 'orders.user_id')
    ->select('users.id', 'contacts.phone', 'orders.price')
    ->get();

Ce qui précède est l'opération de jointure. La table user connecte les tables de contacts et de commandes, suivie de la condition on, et le contenu de la sélection est le champ à vérifier.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal