庆云php

庆云php

ThinkPHP 6 部分表不用数据库前缀,join关联查询不使用默认的表前缀

PHP 0

ThinkPHP的join关联查询不使用默认的表前缀

ThinkPHP 6 部分表不用数据库前缀

  要关联的(完整)表名以及别名,支持三种写法:

  1、['完整表名或子查询'=>'别名']
  2、'完整表名  别名'
  3、'不带数据表前缀的表名'

  总:把JOIN参数由字符串修改为数组,即为完整的表名。


Db::table只有第一个表不使用前缀。后边 ->join 的表又加上前缀了,正确的写法如下。

$wj = Db::table('cj_mwj')->alias('a')
->join(['cj_mwjcss'=>'b'], 'b.wjcss_id = a.wjcss_id', 'LEFT')
->field('a.*,b.dug ')
->where(['wj_id'=>'339046'])
->find();