您的位置:首页 > 大数据 > 人工智能

Integrity constraint violation: 1052 Column 'status' in where clause is ambiguous

2017-12-22 11:57 1181 查看
在使用Laravel关联模型查询的时候,报这个错,然后查了资料,说是两个关联的表里有一样的字段,mysql不知道要以哪个表为准,所以这个时候,我们只需要查询的时候指明字段所属的表就可以了。

ambiguous是磨棱两可的意思。

原始代码:

$data = MyClass::with([
'learners' => function ($query) {
$query->select()
->where('status', 1)
->orderBy('create_time', 'desc');
},
])
->find($id);


改正后的代码:

$data = MyClass::with([
'learners' => function ($query) {
$query->select()
->where('learner_relation.status', 1)
->orderBy('learner_relation.create_time', 'desc');
},
])
->find($id);


定义模型之间的关联参考:

http://blog.csdn.net/zhezhebie/article/details/78871731
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql