php - Laravel通过查询构建器写出的查询语句被解析错误
巴扎黑
巴扎黑 2017-04-11 09:56:42
[PHP讨论组]

laravel联合查询时把我的查询代码构造成了一个错误的SQL语句, 有什么方法解决吗?

我代码里构建的查询是这样的:

$projects = Project::join('projects_students', 'projects.leader_id', 
'=', $user->user_id)->get();

但是他构造出的SQL语句却是这样的:

select * from `projects` inner join `projects_students` 
on `projects`.`leader_id` = `******`

projects.leader_id 变成了php的字符串连接符去啦。

版本是Laravel5.1 两个表之间没有定义任何关联关系

巴扎黑
巴扎黑

全部回复(4)
PHPz

你这个查询写的是有问题的。
你把查询条件和join条件写在了一起。

$projects = Project::join('projects_students', 'projects.leader_id', 
'=', 'students.id')->where('projects.leader_id' , $user->user_id)->get();
PHP中文网
$result = DB::table('employees')
                ->join('departments','employees.department_id','=','departments.id')
                ->where('departments.name','like','%'.$search_value.'%')
            ->select('employees.id','employees.name','employees.department_id','departments.name as department')
                ->get();

我是这样写JOIN查询的,没什么问题。

高洛峰

用DB::raw($user->user_id)

迷茫
$projects = Project::join('projects_students', 'projects_students.leader_id', '=', $user->user_id)->get();
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号