要按电子邮件分组并获取每个组中最早的 created_at 日期,可以使用Laravel Eloquent的groupBy和min方法来实现。下面是一个使用代码示例:
首先,确保你的模型类继承自Laravel的Eloquent模型类。例如,假设你的模型类名为Email:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Email extends Model
{
protected $table = 'emails';
}
然后,在控制器或其他适当的地方,你可以使用以下代码来按电子邮件分组并获取每个组中最早的 created_at 日期:
use App\Models\Email;
use Illuminate\Support\Facades\DB;
$emails = Email::select('email', DB::raw('MIN(created_at) as earliest_date'))
->groupBy('email')
->get();
在上面的代码中,我们使用了select方法来选择 email 字段和 MIN(created_at) 别名为 earliest_date 的字段。然后,我们使用groupBy方法按 email 字段进行分组。最后,我们使用get方法来获取结果。
你可以根据你的实际需求修改上面的代码,以适应你的数据表结构和字段名。