You can do this in your resource by defining your indexQuery method.
<?php
namespace App\Nova;
use Laravel\Nova\Http\Requests\NovaRequest;
use Illuminate\Http\Request;
use Laravel\Nova\Fields\Number;
class Product extends Resource {
public static function indexQuery(NovaRequest $request, $query) {
// adds a `tags_count` column to the query result based on
// number of tags associated with this product
return $query->withCount('tags');
}
public function fields(Request $request) {
return [
Number::make('# Of Tags', 'tags_count')
->onlyOnIndex()
->sortable(),
];
}
}