A Laravel Nova card that displays the total number of records for a model or the number of records matching a condition.
- PHP 7.4 - 8.4
- Laravel 8.x - 11.x
- Nova 4.x - 5.x
You can install the package via composer:
composer require abordage/nova-total-card
To add this card to the dashboard or resource add it to the cards
method like this:
namespace App\Nova\Dashboards;
use Abordage\TotalCard\TotalCard;
use Laravel\Nova\Dashboard;
class Main extends Dashboard
{
public function cards(): array
{
$cards = [
/* simple */
new TotalCard(\App\Models\User::class),
/* with custom title */
new TotalCard(\App\Models\User::class, 'All users'),
/* with cache expiry time */
new TotalCard(\App\Models\User::class, 'All users', now()->addHour()),
/* with condition */
new TotalCard(\App\Models\User::where('is_active', 1), 'Active users'),
];
}
}
You can set the size of the card using the methods width
and height
:
public function cards(): array
{
$cards = [
(new TotalCard(\App\Models\User::class))->height('dynamic'),
(new TotalCard(\App\Models\User::class))->height('dynamic')->width('2/3'),
];
}
If you have any feedback, comments or suggestions, please feel free to open an issue within this repository.
The original idea comes from the total-records, so many thanks to its author and contributors!
The MIT License (MIT). Please see License File for more information.