显示用户在管理员的用户列表页面中进行的预订的数量

时间:2019-01-14 12:01:02

标签: php laravel eloquent laravel-datatables

我想计算使用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 ...但是没有帮助。

我想念什么?

1 个答案:

答案 0 :(得分:1)

您正在创建用户表?因此,我假设您的回调函数希望得到一个User模型。 User模型具有一个users_count属性,其中包含预留的数量。

->editColumn('user_reservation', function(User $user) {
    return $user->users_count;
});