模式Position.php
包含以下代码。
class Position extends \Eloquent {
public static function get_position_by_url($url) {
return Position::where('url','=',$url)->where('status','=','0')->with('message')->get();
}
public function message() {
return $this->hasMany('Message');
}
}
上面的代码工作正常,我需要的是按消息表中的条件获取数据,如下所示:
class Position extends \Eloquent {
public static function get_position_by_url($url,$screenSize) {
return Position::where('url','=',$url)->where('status','=','0')->with('message')->where('screensize','=',$screensize)->get();
}
public function message() {
return $this->hasMany('Message');
}
}
但这两个条件都应用于位置表,我想将第二个条件应用于消息表。
答案 0 :(得分:1)
您可以通过传递闭包来过滤渴望加载的模型:
return Position::where('url','=',$url)->where('status','=','0')->with(['message' => function($q) use ($screensize){
$q->where('screensize','=',$screensize);
}])->get();
与 Eager Loading Constraints
下的documented here一样