Как правильно получить количество записей в таблице. где нет delete_at (Laravel)?
Получаю количество имеющихся записей (для вывода на панель)
class DashboardController extends AdminController
{
public function dashboard()
{
$params = [
'categoriesCount' => BlogCategory::count(),
'postsCount' => BlogPost::count(),
//'bookmarksCount' => BlogBookmark::count(),
'bookmarksCount' => DB::table('blog_bookmarks')->count(),
'usersCount' => User::count(),
];
return view('admin.dashboard')->with($params);
}
}
Столкнулся с проблемой, что при запросе 'bookmarksCount' => BlogBookmark::count() получаю ошибку, так как в таблице отсутствуют поля 'create_at', 'deleted_at' (это связующая таблица, поэтому данных полей, как и поля id смысла создавать не было).
Для получения количества записей в этой таблице использовал bookmarksCount' => DB::table('blog_bookmarks')->count(),
Насколько это "правильно" и есть ли метод, который позволяет получить количество записей "напрямую" работая с моделью BlogBookmark (в которой отсутствуют поля 'created_at', 'deleted_at'), а не через фасад DB.
Этот фреймворк стал изучать не так давно, документация постоянно перед глазами. Не один раз пробегался по eloquent-model-conventions, но так и не сообразил правильно ли я сделал? А если не нет, то как сделать правильно.
Будуочень признателен за помощь!
Ответы (1 шт):
DB::table('blog_bookmarks')->count()
очень даже правильный вариант, куда лучше чем 'bookmarksCount' => BlogBookmark::count(). Единственное лучше это делать в репозитории и потом уже вызывать метод репозитория