thinkPHP的JOIN中表名要不要加前缀解决方案
4个回答
展开全部
不用加前缀,但是需要用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();
$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();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加括号就行了
->join('(table B)', 'B.id=A.id', 'LEFT')
->join('(table B)', 'B.id=A.id', 'LEFT')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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_dump($data);die;
return $this->fetch('index', ['user_list' => $user_list]);
}
这样就可以了
$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_dump($data);die;
return $this->fetch('index', ['user_list' => $user_list]);
}
这样就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询