如何在 laravel 中对这种关系进行分组?

how to group this relationship in the laravel?

我正在尝试按关系访问中的日期对用户进行分组,并将此结果分页。

模范用户

public function acessos()
{
    return $this->hasMany(Acessos::class,'id_usuario');
}

模型访问

public function user()
{
    return $this->belongsToMany(User::class,'id_usuario');
}

Livewire 组件

$data = User::query()
            ->search($this->search)
            ->with('acessos')
            ->has('acessos')
            ->paginate($this->perPage);

return view('livewire.relatorios.acessos.acessos-component',[
             'data' => $data
         ]);

从 Acessos 模型中删除 user() 方法,并将 User 模型的 acessos 方法中的 hasMany() 方法更改为 belongsToMany。这将解决您的问题。

删除这个:

public function user()
{
    return $this->belongsToMany(User::class,'id_usuario');
}

并更改此:

public function acessos()
{
    return $this->belongsToMany(Acessos::class,'id_usuario');
}