Feb 26, 2020
0
Level 3
nova column filter issue
i have a custom filter where i want to simply filter a column, but the column i want to use is a relationship column..
so when i try to use 'object_id' it filters the id of object.. why is that so? how can i simply filter the column instead?
namespace Denis\ColumnFilter;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Http\Request;
use Laravel\Nova\Filters\Filter;
class ColumnFilter extends Filter
{
public $component = 'column-filter';
public $column = 'id';
/**
* Apply the filter to the given query.
*
* @param Request $request
* @param Builder $query
* @param mixed $value
* @return Builder|mixed
*/
public function apply(Request $request, $query, $value)
{
return $query->where($this->column, $value);
}
/**
* Get the filter's available options.
*
* @param Request $request
* @return array
*/
public function options(Request $request): array
{
return [
'column' => $this->column,
];
}
}
and the filter:
declare(strict_types=1);
namespace App\Nova\Filters;
use Illuminate\Http\Request;
use Denis\ColumnFilter\ColumnFilter;
class KundeId extends ColumnFilter
{
public $name = 'Kundennummer';
public $column = 'kunde_id';
}
Please or to participate in this conversation.