我想计算使用Laravel Datatables在管理面板中进行的预订用户的数量。
预订模式
public function customer()
{
return $this->belongsTo(User::class, 'customer_id');
}
用户模型
public function reservations()
{
return $this->hasMany(Reservation::class);
}
public function getUsersCountAttribute()
{
return $this->reservations()->count();
}
用户数据表
->editColumn('user_reservation', function(Reservation $reservation){
return $reservation->customer->users_count;
});
...但是,-它抛出错误:
传递给App \ DataTables \ Admin \ UserDataTable :: App \ DataTables \ Admin \ {closure}()的参数1必须是App \ Models \ Reservation的实例,是App \ Models \ User的实例,
我尝试按照中提到的步骤进行操作 Counting total posts by a user in the blade view ...但是没有帮助。
我想念什么?
答案 0 :(得分:1)
您正在创建用户表?因此,我假设您的回调函数希望得到一个User
模型。 User
模型具有一个users_count
属性,其中包含预留的数量。
->editColumn('user_reservation', function(User $user) {
return $user->users_count;
});