2014-01-17 4 views
1

У меня есть таблица MySQL, который содержит значения, разделенные запятой, например так:Как получить значения, разделенные запятыми, в таблице symfony2?

первая строка = (А, АВ)
второй ряд = (АС, АЕ)

Я хочу, чтобы выбрать строки, которые имеют A в их наборе не AC ИЛИ AE. Я использую symfony2 в своем коде.

$query = $query->andWhere("FIND_IN_SET('".trim($tag)."',advNews.advNewsTags)"); 

Его Возвращение Ошибка: Ожидаемая известная функция, у 'FIND_IN_SET'

Но если я использую запрос в SQLyog как

select * from advice_news where adv_news_type = 'news' AND FIND_IN_SET ('sdf',adv_news_tags) 

его работы штрафа.

Скажите мне, какое решение я буду использовать FIND_IN_SET в symfony2.

+0

Просто убедитесь, что у вас нет возможности обновлять текущую схему базы данных? –

+1

Вы можете использовать функцию 'expr() -> like()', но она будет работать только в том случае, если строка тега не будет подстрокой другого тега. Например, если вы ищете '% animal%', он также будет соответствовать «% animals%». –

ответ

1

Вам необходимо добавить в Doctrine and Symfony. У меня была та же проблема с SOUNDS LIKE. Вы можете найти мое решение в http://piotrpasich.com/full-text-searching/ в главе SOUNDEX.