When you simply want to display the total number of some model's database records. Nothing less nothing more.
You can install the package in to a Laravel app that uses Nova via composer:
composer require techouse/total-records
To add this card to the dashboard simply open up App\Providers\NovaServiceProvider
and add it to the cards
method like this:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Laravel\Nova\{Nova, NovaApplicationServiceProvider};
use Techouse\TotalRecords\TotalRecords;
class NovaServiceProvider extends NovaApplicationServiceProvider
{
/**
* Get the cards that should be displayed on the Nova dashboard.
*
* @return array
*/
protected function cards()
{
return [
/**
* PARAMETERS:
*
* @param string $model required - the model you want to get the total count of
* @param string $title optional - the label you want to display in the Nova Card before the model count
* @param \DateTimeInterface $expires optional - the cache expiry time
*/
new TotalRecords(\App\User::class), // minimum required parameters
new TotalRecords(\App\Event::class, __('Total events')), // with custom label
new TotalRecords(\App\Contact::class, __('Total contacts'), now()->addHour()), // cached for 1 hour
];
}
}