是否可以通过相关模型过滤 Laravel 的 Eloquent ORM 中的结果集?我知道 Eloquent 不会加入表格,但我想要的结果类似于:
SELECT * FROM Tickets JOIN statuses on tickets.status_id = statuses.id WHERE statuses.name != 'Closed';
我在 Eloquent 中找到的最接近的功能是:
$tickets = Ticket::with(array('status' => function($q) {
return $q->where('name', '!=', 'Closed');
}))->get();
如果名称未关闭,这仍将返回所有票证,但仅返回状态关系。
另外,我知道这可以在 Fluent 中完成,但我想使用 Eloquent 提供的嵌套对象的返回结构:
echo ticket->status->name;
Fluent 会像连接查询一样返回扁平化结果。