Maison > Java > javaDidacticiel > le corps du texte

Comment implémenter une requête conjointe multi-tables MySQL dans ThinkPHP

不言
Libérer: 2020-09-04 15:28:38
original
5229 Les gens l'ont consulté

Comment implémenter une requête conjointe multi-table MySQL dans ThinkPHP : instanciez d'abord le modèle ; puis utilisez la méthode table() ou la méthode join() pour interroger, par exemple : [table('sp_user as t1, sp_dept comme t2')].

Comment implémenter une requête conjointe multi-tables MySQL dans ThinkPHP

Le contenu de cet article explique comment implémenter une requête conjointe multi-table MySQL (image et texte) dans ThinkPHP, qui a une certaine valeur de référence dans Friends. besoin de pouvoir s'y référer, j'espère qu'il vous sera utile.

Tutoriels vidéo associés recommandés : "Tutoriel mysql", "Tutoriel PHP"

Créez deux tableaux comme indiqué dans la figure :

Table sp_user :

Table sp_dept :

Objectif : Interroger le nom du département qui appartient à sp_dept via le dept_id de sp_user.

Méthode sq native 1 :

select t1.*,t2.name as deptname from sp_user as t1,sp_dept as t2 where t1.dept_id = t2.id;
Copier après la connexion

Méthode sq native deux :

select t1.*,t2.name as deptname from sp_user as t1 left join sp_dept as t2 on t1.dept_id = t2.id;
Copier après la connexion

Le résultat est le même :

correspond à ThinkPHP, il existe également deux méthodes de table et de jointure comme suit :

    //多表联查(table)
    public function test18() {
        //实例化模型
        $model = M();
        //查询
        $result =$model->field('t1.*, t2.name as deptname')->table('sp_user as t1, sp_dept as t2')
             ->where('t1.dept_id = t2.id')->select();
        dump($result);
    }
    //多表联查(join)
    public function test19() {
        //实例化模型
        $model = M('User');
        //查询
        $result = $model->field('t1.*, t2.name as deptname')->alias('t1')
             ->join('left join sp_dept as t2 on t1.dept_id = t2.id')->select();
        dump($result);
    }
Copier après la connexion

Les résultats des tests sont les mêmes :

Pour résumer : ThinkPHP peut effectuer une requête conjointe multi-table via la méthode de table et la méthode de jointure respectivement. L'environnement de test est ThinkPHP3.2.3, préfixe de table sp_

. Recommandations associées :

Comment associer une requête entre 2 tables (thinkphp)

Exemple de requête associée en ThinkPHP, Exemple d'association en ThinkPHP

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!