Thinkphp5 联表(联合、关联、join)查询

Db::table('think_artist')

->alias('a')

->join('think_work w','a.id = w.artist_id')

->join('think_card c','a.card_id = c.id')

->select();


$join = [

    ['think_workw','a.id=w.artist_id'],

    ['think_cardc','a.card_id=c.id'],

];

Db::table('think_user')->alias('a')->join($join)->select();

 

 

 

Db::table('think_artist')

->alias('a')

->join('__WORK__ w','a.id = w.artist_id')

->join('__CARD__ c','a.card_id = c.id')

->select();

 

__WORK__和 __CARD__在最终解析的时候会转换为 think_work和 think_card

 

 

INNER JOIN: 等同于 JOIN(默认的JOIN类型),如果表中有至少一个匹配,则返回行

LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

FULL JOIN: 只要其中一个表中存在匹配,就返回行

你可能感兴趣的:(后台)