Skip to content

Calculating totals in Laravel using conditional aggregates

License

Notifications You must be signed in to change notification settings

BenSampo/laravel-count-totals

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

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'],
]);

About

Calculating totals in Laravel using conditional aggregates

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages