pas*_*has 1 php mysql relational-database laravel eloquent
楷模
class Model1 extends Eloquent {
public function model2() {
return $this->hasOne('Model2');
}
}
class Model2 extends Eloquent {
public function model1() {
return $this->belongsTo('Model1');
}
}
Run Code Online (Sandbox Code Playgroud)
我想要的查询
我想从所有的情况下Model1都该不会有Model2.换言之,没有任何参考该Model1 id在Model2表列model1_id.
这可以通过foreach循环实现,迭代所有Model1并检查model2atributte是否为空.但我想用Eloquent查询来做.
你可能会尝试类似的东西
Model1::has('model2', '=', 0)->get();
Run Code Online (Sandbox Code Playgroud)
请参阅:Laravel Docs - Eloquent - 查询关系
更新:
Model1::doesntHave('model2')->get();
Run Code Online (Sandbox Code Playgroud)