1
我有2个模型,队列和动作。获取充满条件的最后一个元素
队列有很多的动作,这些动作可以被挂起,重定向,成品等
我添加了定队列已采取的每一个动作一个动作。
因此,一旦添加队列对象,第一个操作就是'待定'。
我需要检索,他们的最后一个动作是PENDING(STATUS_ID = 1)或重定向(STATUS_ID = 5)
我的表看起来像这样
qms_queue ID
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,但不是给定队列的最后一个,因此每个队列都会返回。
我无法弄清楚如何在雄辩中做到这一点。有人可以帮我在这里吗?
感谢您的回复,不完全是,我必须fetc哈列表的最后一个行动严格是1或5之一的队列。 –
检查我的更新:) – Maraboc
很酷,这几乎是我的解决方案,但测试第二个子查询它只是返回绝对的最后一个动作,而不是每个队列的最后一个动作:S –