Я хочу посчитать количество пользователей, сделавших бронирование в панели администратора, используя 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 данного,
Я попытался выполнить шаги, указанные в
Подсчет общего количества сообщений пользователя в режиме просмотра лезвия
… но это не помогло ..
Что мне не хватает?
Вы создаете таблицу пользователей? Итак, я полагаю, что ваша функция обратного вызова ожидает получить User
модель. И User
модель имеет users_count
атрибут, который содержит количество бронирований.
->editColumn('user_reservation', function(User $user) {
return $user->users_count;
});
Других решений пока нет …