根据创建日期选择不同的最新记录



如何从表中选择最新的不同记录,最好使用雄辩的laravel的查询生成器。

我尝试过这个查询,但没有成功。

Products::where('depart_id', $depart_id)
->distinct("serial_number")
->latest()
->where('serial_number', ""); // get one of the distinct products

您可以尝试:distinct()将获得不同的'serial_number'

Products::where('depart_id', $depart_id) 
->where('serial_number', "")
->distinct();

解决方案是使用

Products::where('depart_id', $depart_id)
->distinct('serial_number')
->orderBy('serial_number', 'desc')
->orderBy('created_at', 'desc')
->where('serial_number', "serial_number");

这确保了distinct只返回每个值的唯一最新记录。

最新更新