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

 我来答
蔬菜久久
2017-03-06 · TA获得超过176个赞
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:68.7万
展开全部
要,用双下滑下加表名大写方式,例如:

$count = D('Document')
->join('__TAG_DOCUMENT__ ON id = document_id')
->where(array('model_id'=>2,'status'=>1,'pid'=>0))
->count('DISTINCT id');
lichanghai44
2018-11-29
知道答主
回答量:12
采纳率:0%
帮助的人:9573
展开全部
不用加前缀,但是需要用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();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
自考题库分享
2018-11-23 · TA获得超过357个赞
知道答主
回答量:35
采纳率:0%
帮助的人:4.5万
展开全部
加括号就行了
->join('(table B)', 'B.id=A.id', 'LEFT')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jun123456天枰
2017-07-06
知道答主
回答量:1
采纳率:0%
帮助的人:977
展开全部
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]);
}
这样就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式