Я работаю над проектом Symfony 1.4 и вам нужно настроить «имя» фильтра базы данных, чтобы столбец «name_full» выполнялся одновременно с столбцом «name».Сделать запрос на поиск по нескольким столбцам | Symfony 1.4
Я думал сделать это как то в моем FormFilterClass:
public function addNameColumnQuery(Doctrine_Query $query, $field, $value) {
$rootAlias = $query->getRootAlias();
return $query->where(''.$rootAlias.'.name LIKE ?', "%$value%")
->orWhere(''.$rootAlias.'.name_full LIKE ?', "%$value%");
}
, но это не работает, так как это дает мне неправильный набор результатов. И я не могу найти файл, где я мог бы выгрузить полный dql для отладки.
Пожалуйста, укажите, где я могу сбросить полную dql или даже рассказать мне, что не так с моим подходом.
Спасибо!
EDIT: Это правильная функция, как предложено Michal и отлажены мной:
public function addNameColumnQuery(Doctrine_Query $query, $field, $value)
{
$rootAlias = $query->getRootAlias();
return $query->addWhere(
''.$rootAlias.'.name LIKE ? OR '.$rootAlias.'.name_full LIKE ?',
array($value, $value)
);
}
я узнал, что у меня будет перегрузки doBuildQuery() в моем FilterFormClass. Как именно поступать так, как я хочу? Я все еще охочусь за решением. –
Вы можете проверить запрос с панели инструментов разработки, когда используете среду dev. –