企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
`JOIN`方法用于根据两个或多个表中的列之间的关系,从这些表中查询数据。join通常有下面几种类型,不同类型的join操作会影响返回的数据结果。 * **INNER JOIN**: 等同于 JOIN(默认的JOIN类型),如果表中有至少一个匹配,则返回行 * **LEFT JOIN**: 即使右表中没有匹配,也从左表返回所有的行 * **RIGHT JOIN**: 即使左表中没有匹配,也从右表返回所有的行 ## 说明 ~~~ join ( string $table , string $alias = null ) leftJoin ( string $table , string $alias = null ) rightJoin ( string $table , string $alias = null ) ~~~ **参数** ### table ~~~ 要关联的表名 ~~~ ### alias ~~~ 表的别名 ~~~ **返回值** 数组或者空 ## 举例 ~~~ $order = Db::name('og_guantui_order', 'a') ->leftjoin('og_guantui_activity', 'b')->on('a.activity_id', 'b.id') ->leftjoin('og_guantui_seller_data', 'c')->on('b.seller_id', 'c.seller_id') ->field('a.id,a.activity_id,a.user_id,a.price,a.status,a.status,b.id as nid,b.title,b.pic,c.seller_id as sid,c.head,c.company') ->where($where) ->page($page, 5) ->select(); ~~~ ~~~ $order = Db::name('og_guantui_order', 'a') ->leftjoin('og_guantui_activity', 'b')->on(array('a.id' => 'b.uid', 'a.name' => 'b.username')) ->where('a.id', $id) ->field('a.price,a.status,a.type,a.order_no,a.wx_order_no,a.order_time,a.pay_time,a.status,b.id as nid,b.title,b.pic,c.seller_id as sid,c.head,c.company') ->find(); ~~~