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