join

SW-X的数据库ORM操作,都统一依赖\x\Db();类。

join():方法用于根据两个或多个表中的列之间的关系,从这些表中查询数据。join通常有下面几种类型,不同类型的join操作会影响返回的数。

INNER JOIN: 左右表有匹配,则返回组合行
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行(默认的JOIN类型)
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行

同时注意:join语法中的表名不需要带表前缀,Class会自动读取配置文件中的前缀设置。

示例:

$Db = new \x\Db();
$Db->name('user')->alias('A')->join('user_data B', 'A.id=B.user_id');

最终生成的SQL语句类似于: FROM tp_user AS A LEFT JOIN tp_user_data AS B ON A.id=B.user_id;
我们也可以自己指定JOIN方式:

$Db = new \x\Db();
$Db->name('user')->alias('A')->join('user_data B', 'A.id=B.user_id', 'inner');

最终生成的SQL语句类似于: FROM tp_user AS A INNER JOIN tp_user_data AS B ON A.id=B.user_id;
注意:join链可以多个使用,顺序是先用先执行。