我想获取所有订单并将其与状态相关联,但我只想要每个订单的最后状态。我试图这样做,但我只得到第一个订单的状态,其余的没有。我该如何解决?
static function actualKioskOrders()
{
$orders = Order::query();
return $orders->with([
'statuses' => function ($query) {
$query->orderBy('created_at', 'desc')->first();
}
]);
}
答案 0 :(得分:3)
在订购模型中添加此方法,我建议对模型类进行查询。
public function status(){
return $this-> belongsToMany(Status::class);
}
public function latestStatus()
return $this->status()->latest()->first();
}
答案 1 :(得分:0)
我相信更简单的方法就是
$orders = Order::with('status')->orderBy('created_at', 'desc');
然后,如果您dd($orders);
,您将拥有所有相应状态的订单。