在使用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