Maison > cadre php > PensezPHP > À propos de la requête de jointure de ThinkPHP n'utilisant pas le préfixe de table par défaut

À propos de la requête de jointure de ThinkPHP n'utilisant pas le préfixe de table par défaut

藏色散人
Libérer: 2021-04-30 09:26:21
avant
2671 Les gens l'ont consulté

La colonne du didacticiel suivante de thinkphp vous présentera que la requête de jointure de ThinkPHP n'utilise pas le préfixe de table par défaut. J'espère que cela sera utile aux amis dans le besoin !

La requête de jointure de ThinkPHP n'utilise pas le préfixe de table par défaut

À propos de la requête de jointure de ThinkPHP, le document officiel la décrit comme ceci :
À propos de la requête de jointure de ThinkPHP nutilisant pas le préfixe de table par défaut

La fonction de jointure ci-dessus nécessite trois paramètres, qui sont :

join

Le nom (complet) de la table et l'alias à associer, et prend en charge trois méthodes d'écriture :

写法1:[ '完整表名或者子查询'=>'别名' ]
写法2:'完整表名 别名'
写法3:'不带数据表前缀的表名'
Copier après la connexion

condition

关联条件,可以为字符串或数组, 为数组时每一个元素都是一个关联条件。
Copier après la connexion

type

关联类型,可以为: INNER、LEFT、RIGHT、FULL,不区分大小写,默认为INNER。
Copier après la connexion

Différents préfixes

Généralement, ils sont interrogés dans la même base de données. Dans ce cas, la même table est utilisée par défaut, comme (shop_. ), donc lors de l'utilisation de la requête associée modèle de base de données, elle est souvent écrite comme ceci :

Order::alias('o')
     ->join('user u', 'o.user_id = u.id')
     ->select();
Copier après la connexion
Dans le code ci-dessus, car la requête modèle est utilisée, Par défaut, le Le préfixe de table sera ajouté. Les noms complets des deux tables sont

shop_order et shop_user, et le type d'association par défaut est INNER association.

Mais si vous associez une table

avec un préfixe différent (par exemple : pay_record) , l'instruction de requête ci-dessus ne fonctionnera évidemment pas. Dans ce cas, vous devez modifier légèrement l'instruction d'association. . , le code modifié est le suivant :

Order::alias('o')
     ->join(['pay_record' => 'r'], 'o.pay_id = r.id')
     ->select();
Copier après la connexion
De cette manière, le modèle peut être utilisé pour associer des tables avec différents préfixes pour la requête.

Résumé

La méthode ci-dessus consiste en fait à

modifier le paramètre de jointure dans la fonction de jointure d'une chaîne à un tableau ThinkPHP est un excellent framework de développement, comme mentionné ci-dessus. La méthode d'association n'est que l'une d'entre elles. Pour plus de méthodes, veuillez vous référer au manuel officiel : Manuel officiel de ThinkPHP.

Recommandations associées :

Les 10 derniers didacticiels vidéo 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:segmentfault.com
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