Joomla search tools

  • 2 Ответов
  • 177 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Joomla search tools
« : 13.12.2016, 20:55:24 »
Столкнулся с проблемой поиска по составному полю.

Что собственно имелось в виду. В инструментах поиска можно искать по полю a.name
Мне понадобилось искать по конкатенации полей name и surname (чтобы не хранить отдельно поле fullname, а  получить его при запросе из базы)

В MySQL есть полезная функция CONCAT_WS

Например можно написать так SELECT a.id, CONCAT_WS(" ", a.surname, a.name) AS name  FROM `zz5hw_table` AS a
Вот только хотелось чтобы CONCAT возвращал не поле name, а поле a.name
Но так CONCAT работать не хочет

SELECT a.id, CONCAT_WS(" ", a.surname, a.name) AS a.name  FROM `zz5hw_table` AS a
выдаёт ошибку
В документации по MySQL не нашёл ничего что помогло бы прояснить почему CONCAT упорно не хочет возвращать составное название колонки

Попробовал смирится.

Но при попытке что либо поискать в поле name опять получаю ошибку
SELECT a.id, CONCAT_WS(" ", a.surname, a.name) AS name  FROM `zz5hw_table` AS a WHERE (a.state = 0 OR a.state = 1) AND (name LIKE '%somethingsearch%')

Возможно я пошёл не тем путём. Есть у кого идеи как объединить несколько полей в одно для поиска?

*

Aleks.Denezh

  • *******
  • 2784
  • 376
Re: Joomla search tools
« Ответ #1 : 14.12.2016, 21:35:47 »
...WHERE CONCAT_WS(" ", a.surname, a.name) LIKE '%somethingsearch%'
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

Re: Joomla search tools
« Ответ #2 : 15.12.2016, 19:13:15 »
...WHERE CONCAT_WS(" ", a.surname, a.name) LIKE '%somethingsearch%'

Ура! Всё заработало.
Огромное спасибо.