数据库 - Model 前置说明
官方开源项目 抓取代理IP

介绍

数据库-ORM操作,依赖\x\Db组件实现。

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

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

同时注意:join()语句中默认不需要添加表前缀,框架会自动读取配置文件中的前缀设置。

用法

例如:

$Db = new \x\Db();
$Db->name('user')->alias('A')->join('user_data B','B.user_id=A.id')->select();
// 当然你也可以这样写
$Db->name('user AS A')->alias('A')->join('user_data B','B.user_id=A.id')->select();

最终生成的SQL语句类似于:

SELECT * FROM sw_user A LEFT JOIN sw_user_data B ON B.user_id=A.id;

注意:join()默认的链表方式是LEFT JOIN

修改链表方式

例如:

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

最终生成的SQL语句类似于:

SELECT * FROM sw_user A INNER JOIN sw_user_data B ON B.user_id=A.id;

手动指定表前缀

例如:

$Db = new \x\Db();
// 手动指定表前缀
$Db->name('user')->alias('A')->join('diy_user_data B','B.user_id=A.id', 'inner', false)->select();

最终生成的SQL语句类似于:

SELECT * FROM sw_user A INNER JOIN diy_user_data B ON B.user_id=A.id;

SW-X

企业级 - 高性能 PHP 框架

最后更新:3年前 . 作者-小黄牛

本篇目录