你好,我在Laravel 5中有一点滔滔不绝的问题。
我有这个功能:
$lists = Model::with(array('relation_with_registered_in_model'=>function($query){
$query->where("name","cccc");
}))->get();
我的问题是,总是返回所有结果,忽略where子句。
我尝试打印我的查询(使用函数生成),如果我在phpmyadmin中执行查询,则返回正确的过滤结果。
我错了什么?
答案 0 :(得分:0)
您可以尝试使用单个qoute
$lists = Model::with(array('relation_with_registered_in_model'=>function($query){
$query->where('name','cccc');
}))->get();
答案 1 :(得分:0)
我已经解决并理解了我的错误:
// 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) { ...} ]);