@zvonok78

Почему Orchid кастомная фильтрация не выбирает несколько параметров?

Laravel 8.53
Адимн паенль: Orchid
php: 8.0

При поиске в кастомном фильтре при выборе нескольких полей всегда подставляется только 1 последнее поле.
Например фильтр состоит из 4-ех полей: Город, Категория, Марка, Модель.
Если выбрать Город, то найдутся записи по городу, но если потом следом выбрать Ктегорию или другое поле, то посик будет только по последнему выбраному полю, а первое условие удаляется.

Делал согласно видео руководству от Ильи Чубаров "Laravel Orchid Admin Panel. Урок № 15. Продвинутая фильтрация(Advanced Filters)"

Кратко код:
Создал соответсвующие 4 фильтра с помощью php artisan orchid:filter TownFilter
public $parameters = ['town'];

    public function name(): string
    {
        return 'Город';
    }

    public function run(Builder $builder): Builder
    {
        return $builder->where('id_town', $this->request->get('town'));
    }

    public function display(): array
    {
        return [
            Select::make('town')
                ->options(TownModel::orderBy('title','asc')->get()->pluck('title','id'))
                ->empty()
                ->value($this->request->get('town'))
                ->title('Город')
        ];
    }

для остальных фильтров в таком же духе.

Создал файл объединяющие эти фильтры php artisan orchid:selection FilterVehicleProductsSelection
public function filters(): array
  {
    return [
      TownFilter::class,
      CategoryFilter::class,
      VehicleMarksFilter::class,
      VehicleModelsFilter::class
    ];
  }


Все прописал в экране VehicleProductsScreen.php
public function query(): array
  {
    return [
      'vehicle_products' => VehicleProductModel::filtersApplySelection(FilterVehicleProductsSelection::class)->filters()->defaultSort('up_at','asc')->paginate(20)
    ];

  public function layout(): array
  {
    return [
      FilterVehicleProductsSelection::class,
      VehicleProductsTable::class,      
    ];
  }

  }


Кастомный фильтр показывается с нужными параметрами, но фильтрует только по одному последнему выбраному параметру, по нескольким параметрам не хочет. День убил на разбор, но так ничего и не понял. Может тут кто прольет свет, почему так?
  • Вопрос задан
  • 615 просмотров
Пригласить эксперта
Ответы на вопрос 1
@inFureal
Может потому что в моделе нет свойства $allowedFilters/$allowedSorts?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы