Показывать количество бронирований, сделанных пользователем на странице со списком администраторов. - PullRequest
0 голосов
/ 14 января 2019

Я хочу подсчитать количество пользователей, зарезервированных в административной панели, используя 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();
  }

Userdatatable

->editColumn('user_reservation', function(Reservation $reservation){
     return $reservation->customer->users_count;
  });

... Однако - выдает ошибку, говорящую:

Аргумент 1 передается в App \ DataTables \ Admin \ UserDataTable :: App \ DataTables \ Admin \ {closure} () должен быть экземпляром App \ Models \ Reservation, заданным экземпляром App \ Models \ User,

Я попытался выполнить шаги, указанные в Подсчет общего количества сообщений пользователя в режиме просмотра лезвия ... но это не помогло ..

Чего мне не хватает?

1 Ответ

0 голосов
/ 14 января 2019

Вы создаете таблицу пользователей? Итак, я полагаю, что ваша функция обратного вызова должна получить модель User. А модель User имеет атрибут users_count, который содержит количество резервирований.

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