saumini/count

一个 Laravel Nova 字段。

v1.0.1 2018-11-16 16:28 UTC

This package is auto-updated.

Last update: 2024-08-28 05:20:55 UTC


README

这是一个用于关系计数的 Laravel Nova 字段。仅在索引视图中显示。

安装

> composer require saumini/count

用法

在模型上定义关系。

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

在关系上使用 Count 字段。

use Saumini\Count\RelationshipCount;

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

对于可排序字段

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 1