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 –