Здравствуйте.
--
Хотел уточнить, как будет правильнее и безопаснее, джойнами или какими другими DAO запросами в Yii2 делать поиск по словам или предложениям в нескольких таблицах?
Я собираюсь использовать Html::beginForm чтобы не привязываться к конкретному экшену, а тянуть запрос из БД если был сделан запрос.
То есть будет некий код:
<?= Html::input('text', 'search', $search->name, ['class' => $class]) ?>
Который будет обрабатываться контроллером.
К примеру есть три таблицы с которыми он будет работать.
"test1" , "test2" , "test3"
...->where(['like', 'search', $search->name])->all();
То есть не существующая не в какой модели name="search". Он через get-запрос будет искать совпадения по указанным выше таблицам. Понимаю, тема избитая, но я хочу понять принцып. Как экранировать имена таблиц - я знаю.
А грамотно такие запросы делать не умею. Под грамотностью подразумевается нагрузка на сервер при большом и массовом запросе, когда поиск ведётся в нескольких таблицах в независимости от того, что за имена столбцов.
Это мне нужно, чтобы я сам смог научится делать карту сайта, если конкретного запроса не было, либо выводить как поисковик то, что указал в поле search.
Чтобы было более понятно, я буде использовать ajax и javascript функцию, которая без нажатия на кнопку будет искать введёные данные. Я этот фокус проделывал с одной таблицей, и у меня вылетала ошибка о том, что я сделал очень много запросов. В общем нужны советы профессионалов, кто в этом понимает больше, чем мимо проходящие критики.
Как можно? И как нужно? Как лучше это сделать?