0

我想计算使用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 的实例,

我尝试按照在刀片视图中计算用户的帖子总数中提到的步骤 ...但它没有帮助..

我错过了什么?

4

1 回答 1

1

您正在创建用户表?所以,我假设你的回调函数期望得到一个User模型。并且User模型有一个users_count包含预订数量的属性。

->editColumn('user_reservation', function(User $user) {
    return $user->users_count;
});
于 2019-01-14T12:04:51.207 回答