首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

thinkPHP的JOIN中表名要不要加前缀解决方案

发布网友 发布时间:2022-04-21 19:07

我来回答

4个回答

热心网友 时间:2022-04-26 04:22

要,用双下滑下加表名大写方式,例如:

$count = D('Document')
->join('__TAG_DOCUMENT__ ON id = document_id')
->where(array('model_id'=>2,'status'=>1,'pid'=>0))
->count('DISTINCT id');

热心网友 时间:2022-04-26 05:40

不用加前缀,但是需要用C('DB_PREFIX')连接表名。
$list = M('order o')->field('o.*,c.title')->where($map)->join('left join '.C('DB_PREFIX').'car c ON o.car_id = c.id')->order('o.id desc')->select();

热心网友 时间:2022-04-26 07:15

加括号就行了
->join('(table B)', 'B.id=A.id', 'LEFT')

热心网友 时间:2022-04-26 09:06

public function index() {
$grab = Db::table('tg_admin_log')->field("add_time,ip,u_id")->order('add_time desc')->limit(1)->buildSql();
$auth_group_access=Db::table('auth_group_access')->buildSql();
$auth_group=Db::table('auth_group')->buildSql();
$data=Db::table('auth_user a')
->join($auth_group_access.'b','a.id=b.uid','LEFT')
->join($auth_group.'c','b.group_id=c.id','LEFT')
->join($grab.'d','d.u_id=a.id','LEFT')
->field('a.admin_name,a.status,c.title,c.status,c.add_time,d.add_time,d.ip')
->select();
var_mp($data);die;
return $this->fetch('index', ['user_list' => $user_list]);
}
这样就可以了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com