#php #laravel
Вопрос:
У меня есть две похожие таблицы, обе с похожим столбцом под названием «the_column». Я хочу выполнить поиск по столбцу таблицы 1, но показать результаты по столбцу таблицы 2, предполагая, что результат можно разбить на страницы.
К вашему сведению, столбец в обеих таблицах представляет собой текстовое поле, содержащее похожие предложения, но с разными акцентами. Поэтому я хочу найти столбец таблицы 1, в котором есть чистая строка, но показать столбец таблицы 2, в котором много добавленных знаков и символов.
Вот куда я дошел до сих пор, что неверно:
$result = Model2::wherein('the_column', function(Model1 $q) {
$q->where('the_column', 'like', "%$this->searchTerm%");
})->paginate();
Комментарии:
1. В модели 2 определено имя таблицы 2 или имя таблицы 1?
2. добавьте имя таблицы вместе с именем столбца в критерии поиска
3. Выходные данные будут показаны из таблицы 2, которая соответствует модели 2.
4. Простой способ => $model_1_id = Model1::где(«столбец»,»НРАВИТСЯ», » %{$поиск}%»)->>выщипать («столбец»)->>>toArray(); $результат = Model2::Где («столбец», $model_1_id)->>>>разбиение на страницы();
5. связаны ли таблицы, пожалуйста, поделитесь, как и связанные столбцы