Laravel Community Tools by Tighten
Laravel Nova icon Nova Packages
R

Relationship Count

Readme

Nova Field Count

A Laravel Nova field for relationship count. Displays only on index view.

Installation

> composer require saumini/count

Usage

Define the relationship on model.

class Post extends Model
{
    public function comments()
    {
        return $this->hasMany('App\Comment');
    }
}

Use Count field on relationship.

use Saumini\Count\RelationshipCount;

class Survey extends Resource
{
    ...
    public function fields(Request $request)
    {
        return [
            RelationshipCount::make('Comments Count', 'comments'),
        ];
    }
}

For sortable field

use Saumini\Count\RelationshipCount;

class Survey extends Resource
{
    ...
    public function fields(Request $request)
    {
        return [
            RelationshipCount::make('Comments Count', 'comments')->sortable(),
        ];
    }
    
    // Overwrite the indexQuery to include relationship count
    public static function indexQuery(NovaRequest $request, $query)
    {
        // Give relationship name as alias else Laravel will name it as comments_count
        return $query->withCount('comments as comments');
    }
}

Screenshot

Screenshot 1

Back to Top
Added 7 years ago
Last updated 7 Years Ago
Version v1.0.1
Composer
saumini/count
GitHub stars 28
Packagist downloads 507,449

Favorites

28 users favorited

Rating

5.00
(out of 5)
★★★★★
★★★★
★★★
★★
3 ratings

Brought to you by Tighten

Issues/Feature Requests Stats Package Ideas