Как подсчитать все товары для всех категорий (т.е. все записи в таблице "многие ко многим") с помощью laravel 5.2

Это то, что я хочу сделать, это взять количество записей из таблицы многие ко многим. Я могу сделать это с помощью простого запроса, но я хочу использовать ORM Laravel 5.2. Это мои модели:

Модель категории

class Category extends BaseModel {
    protected $table = 'categories';

    public function products() {
        return $this->belongsToMany('App\Models\Product', 'product_category');
    }

Модель продукта

class Product extends BaseModel {
    protected $table = 'products';

    public function categories() {
        return $this->belongsToMany('App\Models\Category', 'product_category')->withTimestamps();
    }

Я хочу добавить метод в модель категории или использовать Laravel ORM, чтобы получить количество всех продуктов для всех категорий, т.е. количество всех записей из product_category Таблица. Как мне это сделать?

1 ответ

Решение

Если я вас правильно понимаю, вам нужен метод, который будет возвращать количество всех записей в product_category Таблица. Если это так, то вы идете:

public function numberOfProductCategories() {
    return DB::table('product_category')->count();
}

Вы можете найти больше информации об этом здесь: https://laravel.com/docs/5.2/queries

Другие вопросы по тегам