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

Show number of reservations user have made in admin's user list page

我想使用 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;
  });

... 但是,- 它会抛出一条错误消息:

Argument 1 passed to App\DataTables\Admin\UserDataTable::App\DataTables\Admin\{closure}() must be an instance of App\Models\Reservation, instance of App\Models\User given,

我尝试按照中提到的步骤进行操作 ...但它没有帮助..

我错过了什么?

您正在创建 table 个用户?所以,我假设你的回调函数需要一个 User 模型。 User 模型有一个 users_count 属性,其中包含预订数量。

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