【发布时间】:2018-10-17 13:17:18
【问题描述】:
我有一个包含许多类别(多对多关系)的问题资源。我想为不同类别的问题资源创建一个过滤器。
<?php
namespace App\Nova\Filters;
use Illuminate\Http\Request;
use Laravel\Nova\Filters\Filter;
class CategoryType extends Filter
{
/**
* Apply the filter to the given query.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Database\Eloquent\Builder $query
* @param mixed $value
* @return \Illuminate\Database\Eloquent\Builder
*/
public function apply(Request $request, $query, $value)
{
return $query->categories()->where('id', $value);
}
/**
* Get the filter's available options.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function options(Request $request)
{
$categories = \App\Category::all();
return $categories->pluck('id', 'name')->all();
}
}
【问题讨论】:
标签: laravel laravel-nova