With() laravel 中的 Where 子句不起作用
Where clause in With() laravel doesn't work
你好,我在 Laravel 5 中使用 eloquent 有点问题。
我有这个功能:
$lists = Model::with(array('relation_with_registered_in_model'=>function($query){
$query->where("name","cccc");
}))->get();
我的问题是 return 总是所有结果,忽略 where 子句。
我尝试打印我的查询(使用函数生成),如果我在我的 phpmyadmin 中执行查询,它 return 正确过滤结果。
我哪里错了?
你可以试试单引号
$lists = Model::with(array('relation_with_registered_in_model'=>function($query){
$query->where('name','cccc');
}))->get();
我已经解决并理解我的错误:
// gets only models that have relation matching the closure constraint
// no eager loading of the relation!
Model::whereHas('relation', function ($q) { ...} );
// gets ALL models
// and eager loads the relation, but only rows matching the constraint
Model::with(['relation' => function ($q) { ...} ]);
你好,我在 Laravel 5 中使用 eloquent 有点问题。
我有这个功能:
$lists = Model::with(array('relation_with_registered_in_model'=>function($query){
$query->where("name","cccc");
}))->get();
我的问题是 return 总是所有结果,忽略 where 子句。
我尝试打印我的查询(使用函数生成),如果我在我的 phpmyadmin 中执行查询,它 return 正确过滤结果。
我哪里错了?
你可以试试单引号
$lists = Model::with(array('relation_with_registered_in_model'=>function($query){
$query->where('name','cccc');
}))->get();
我已经解决并理解我的错误:
// gets only models that have relation matching the closure constraint
// no eager loading of the relation!
Model::whereHas('relation', function ($q) { ...} );
// gets ALL models
// and eager loads the relation, but only rows matching the constraint
Model::with(['relation' => function ($q) { ...} ]);