bensampo/laravel-count-totals

1.0 2019-05-23 18:48 UTC

This package is auto-updated.

Last update: 2024-03-24 05:25:45 UTC


README

Inspired by Jonathan Reinink's post about Calculating totals in Laravel using conditional aggregates I've created an elegant way to grab multiple totals in an efficient way.

Please see the post for details about what this package aims to solve.

Install

composer require bensampo/laravel-count-totals

Usage

Given the following subscribers table structure:

name status
Adam Campbell confirmed
Taylor Otwell confirmed
Jonathan Reinink bounced
Adam Wathan cancelled
$totals = Subscriber::countTotals([
    ['status' => 'confirmed'],
    ['status' => 'cancelled'],
    ['name' => 'Jonathan Reinink'],
]);

$totals->confirmed // 2
$totals->cancelled // 1
$totals->jonathanReinink // 1

You may also use the DB facade:

$totals = DB::table('subscribers')->countTotals([
    ['status' => 'confirmed'],
    ['status' => 'cancelled'],
    ['name' => 'Jonathan Reinink'],
]);