Получить сумму поля, используя laravel eloquent - PullRequest
0 голосов
/ 03 февраля 2020

Я начал использовать Laravel, и мне понравился этот фреймворк, сейчас я начал работать над небольшим проектом и хотел бы узнать, как я могу использовать SUM , чтобы получить общее количество вариантов, которые у меня есть в таблице под названием варианты , я хотел бы суммировать поле stock , поле

существует в таблице вариантов;

как я могу использовать сумму С красноречивым

это мой код

$products = Product::with(['category', 'brand', 'supplier'])->orderBy('id', 'desc')->paginate(15);

моя модель варианта функции

public function variant(){
        return $this->hasMany('App\Variant', 'product_id','id');
    }

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

Удобно для звонка имеет много-много сумм с аксессором

Добавить аксессор:

В модели продукта:

protected $appends = ['stock_sum'];

public function getStockSumAttribute() {
    return $this->variants()->sum('stock');
}

Итак Вы можете позвонить по продукту:

$products = Product::with(['category', 'brand', 'supplier'])->orderBy('id', 'desc')->paginate(15);
$products->first()->stock_sum;
0 голосов
/ 03 февраля 2020

Вам нужны какие-либо фильтры / условия, по которым вы суммируете? Если нет, то это может быть так просто:

$sum = Variant::sum('stock');

Как таблица variants связана с таблицей products?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...