Добрый день, подскажите как правильно сделать filter в backend-e. Есть модель

(товар) у который связь belongsToMany (компания), компаний > 4k, поэтому выборку типа ->all(); не хочется делать. нужно ограничить в dropdown до 10, но что бы filterScopeSearch при этом работал, как такое сделать ?

7 ответов

6 просмотров
Max-Dubovsky Автор вопроса

Отвечу сам, в config_filters: company: modelClass: /Acme/Name/Models/Model optionsMethod: getCompaniesOptionsCustom в моделе: public function getCompaniesOptionsCustom() { $searchStr = post('search'); ... get list return $options; }

Max Dubovsky
Отвечу сам, в config_filters: company: modelC...

В целом можно без optionsMethod если нужен поиск именно по таблице модели company: modelClass: /Acme/Name/Models/Model conditions: name like '%:value%' nameFrom: name Но можно еще добавить: options: getCompanyOptions И вывести допустим первые 10 компаний: public function getCompanyOptions() { return Company::query()->take(10)->lists('name', 'id'); }

Max-Dubovsky Автор вопроса
Vladimir 
В целом можно без optionsMethod если нужен поиск и...

Там condition более сложный, так что optionsMethod имхо the best. Но сейчас проблема что бы при разных выборках (сначала 1 компания, затем ешё + 2) не сохраняется предыдущий выбор.. но идея есть

Max Dubovsky
Там condition более сложный, так что optionsMethod...

Ну деталей не ясно ) в изначальном сообщении только строка поиска )

Max-Dubovsky Автор вопроса
Max-Dubovsky Автор вопроса
Max Dubovsky
не знал что так будет

сейчас думаю это разобрать

Max-Dubovsky Автор вопроса
Max Dubovsky
screenshot сейчас думаю это разобрать

Да, всё работает: $alreadySelected = json_decode($postCompanies['value']);

Похожие вопросы

Обсуждают сегодня

Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
с помощью чего можно бота добавить как админа в чат? (условно в боте есть кнопка, нажатие на которую приводит тебя к выбору чата и выдаче прав боту)
ηє νєямσяє
5
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
А как заставить поиск искать? Есть такая формочка <select class="form-control custom-select" name="brand_id" data-handler="onGetBrands"></select>
Денис Александрович
5
А цены чем оправданы?
Lencore
7
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
напомните, как заменить placeholder , а не добавить содержимое ?
Artem N
4
Всем привет. Нужна платная консультация от тех, кто сталкивался с октябрём в кластере или шарит оч хорошо в цмс. Проблема следующая: после переноса в кластер октябрь начал ...
wl
8
Карта сайта