À propos de la requête de jointure de ThinkPHP, le document officiel la décrit comme ceci :
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:'不带数据表前缀的表名'
condition
关联条件,可以为字符串或数组, 为数组时每一个元素都是一个关联条件。
type
关联类型,可以为: INNER、LEFT、RIGHT、FULL,不区分大小写,默认为INNER。
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();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 tableavec 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();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.