Propel - формирование запроса с условиями OR для разных полей

robocomp

Новичок
Propel - формирование запроса с условиями OR для разных полей

Превед.
Есть вопрос.
Использую симфони., в которой пытаюсь написать запрос вида
PHP:
select p.title,p.body from post p where
(p.title like '%rrr%' or p.title like '%fff%' or  p.body like '%rrr%' or p.body like '%fff%' or )
and p.is_enabled = 1;
Но получается, что он может соединять Or-ами только одну колонку, т.е. выходит
PHP:
select p.title,p.body from post p
where (p.title like '%rrr%' or p.title like '%fff%') and
 (  p.body like '%rrr%' or p.body like '%fff%' or ) and p.is_enabled = 1;
Соответственно, делаю в цикле такое:
PHP:
		  $postCriteria->addOr(PostI18nPeer::BODY, "%$word%", Criteria::LIKE);
		  $postCriteria->addOr(PostI18nPeer::TITLE , "%$word%", Criteria::LIKE);
Я, понятно дело, пока что переписал просто через SQL, но это как-то не очень круто всё таки.

Знате ли кто, как правильно сформировать тот запрос, который приведен в первом примере, не используя просто SQL, а используя удобный объект Criteria?

-~{}~ 11.10.08 21:58:

Собственно, вопрос снят.
http://propel.phpdb.org/trac/ticket/170 ответ разработчика найден
 

pilot911

Новичок
да уж ... интересно, сколько ресурсов кушает вот такое построение запросов вместо обычного


array(
'fields'=>...
'from'=>...
'where'=>...
'group_by'=>...

.....
)
 

fixxxer

К.О.
Партнер клуба
о, и правда не шутит.

слушай, мил человек. я посмотрел твои предыдущие посты, ты не обижайся. вот есть люди без чувства юмора и им бесполезно объяснять в чем шутка. вот и тебе я тоже не вижу смысла объяснять в чем ты заблуждаешься. правда чтоли работу смени. заводы вон стоят.
 

Farsh

~ on ~ high ~ wave ~
robocomp
делай запрос напрямую:
$con = Propel::getConnection();
$result = $con->executeQuery('SELECT .. ');
 

Beavis

Banned
Автор оригинала: robocomp
Я, понятно дело, пока что переписал просто через SQL, но это как-то не очень круто всё таки.

Знате ли кто, как правильно сформировать тот запрос, который приведен в первом примере, не используя просто SQL, а используя удобный объект Criteria?
Автор оригинала: robocomp
Собственно, вопрос снят.
Автор оригинала: Farsh
robocomp
делай запрос напрямую:
$con = Propel::getConnection();
$result = $con->executeQuery('SELECT .. ');
=)))
 

robocomp

Новичок
Автор оригинала: Farsh
)))) извиняюсь ))
Farsh, я так и сделал, конечно же. Просто авторы библиотеки сами, насколько я понял, признаются, что других способов построить такой запрос как-то и нету пока что в Propel
 
Сверху