Как искать строку в таблицах базы данных и получать совпадающие имена столбцов в laravel - PullRequest
1 голос
/ 30 октября 2019

У меня есть таблица, имеющая столбец ниже. Заголовок, подзаголовок, серия, пятна, ключевое слово_он, ключевое слово_два, ключевое слово_три, ключевое слово_форум, ключевое слово_файла, ключевое слово_севея, ключевое слово_сэвен,

Теперь я хочу найти «слово» ... или строку, а затем получить 2 вещи (1) заголовок и(2) столбец, в котором найдена эта строка или слово ……

1 Ответ

0 голосов
/ 30 октября 2019

Вероятно, не самый лучший ответ, но вы могли бы сделать что-то вроде:

DB::table('table')->selectRaw('`title`, @word:="%word_to_search%", CASE WHEN `subtitle` LIKE @word THEN 'subtitle' WHEN `series` LIKE @word THEN 'series' WHEN `blurs` LIKE @word THEN 'blurs' WHEN `keyword_one` LIKE @word THEN 'keyword_one' WHEN `keyword_two` LIKE @word THEN 'keyword_two' WHEN `keyword_three` LIKE @word THEN 'keyword_three' WHEN `keyword_four` LIKE @word THEN 'keyword_four' WHEN `keyword_five` LIKE @word THEN 'keyword_five' WHEN `keyword_six` LIKE @word THEN 'keyword_six' WHEN `keyword_seven` LIKE @word THEN 'keyword_seven' END AS `column`')->get();

Я использовал переменную @word для упрощения.

...