重写我有了一个范围的方法来过滤一些行雄辩的模型:机型ID通过相关模型
class TODocs extends \Eloquent {
public function scopeUnexported($query)
{
$query
->join('to_requests', function ($join) {
$join->on('to_requests.id', '=', 'to_docs.request_id');
$join->whereNull('to_requests.deleted_at');
})
->where('to_docs.export_allowed', true)
->whereNotNull('to_docs.filename')
->whereNull('to_docs.exported_at');
return $query;
}
}
但是,当我拿到导致该范围内的所有对象都具有的ID号从to_requests
表。
举例来说,如果我试图让从具有id = 1
to_docs
表中的一行和该行有一个外键to_docs.request_id = 2
然后为模型我得到的ID也。然而,当我删除范围join
节法比一切工作就像一个魅力,id
是1
我可能摆脱join
但我需要这个条件让行外国纪录to_requests.deleted_at IS NULL
有没有办法解决这个问题的方法?
确实,我不使用to_requests表中的数据进行排序;然而,我仍然需要这个连接来限制select来获取与'to_requests.deteted_at IS NULL'相关的行。 – vansanblch