【发布时间】:2017-10-17 16:02:26
【问题描述】:
我有 2 个模型,队列和动作。
一个队列有很多动作,这些动作可能是挂起的、重定向的、完成的等等。
我为给定队列执行的每个操作添加一个操作。
所以,添加队列对象后,第一个操作是“待处理”。
我需要检索其最后一个操作为待处理 (status_id = 1) 或已重定向 (status_id = 5) 的队列
我的桌子是这样的
qms_queue 身份证
qms_actions id status_id queue_id
我的方法是这样的:
$queue_query->whereHas('actions', function ($query) {
$query->where('id', function ($query2) {
$query2->from('qms_actions')
->select('id')
->orderBy('created_at', 'desc')
->limit(1);
});
})->whereIn('status_id', [1,5]);
但是,我检索了 status_id 为 1 或 5,但不是给定队列的最后一个的操作,因此,每个队列都被返回。
我无法弄清楚如何用雄辩的方式做到这一点。有人可以帮我吗?
【问题讨论】:
标签: php laravel eloquent subquery