Select 基于创建日期的不同最新记录

Select the distinct latest records based on their creation date

我如何 select,最好使用 eloquent laravel 的查询生成器,从 table.

中获取最新的不同记录

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

 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 仅返回每个值的唯一最新记录。