#sql #symfony-1.4 #propel
#sql #symfony-1.4 #продвигать
Вопрос:
Я использую Symfony 1.4 и Propel (ORM), я хочу выполнить SQL-запрос ( SELECT * FROM 'myblog'
), хочу получить все записи из моего блога, которые содержат слово symfony. Я написал код Symfony как,
WHERE 'blog_title' LIKE '%symfony%'
OR 'blog_post' LIKE '%symfony%'
$c = new Criteria();
$c->add(MyblogPeer::BLOG_TITLE, "%symfony%", Criteria::LIKE);
$c->addOr(MyblogPeer::BLOG_POST, "%symfony%", Criteria::LIKE);
$my_blog = MyblogPeer::doSelect($c);
но он возвращает пустой набор. Есть ли что-то неправильное в предоставлении параметра.
Ответ №1:
Я думаю, что для создания OR в замыкании where вам нужно создать критерий, а затем добавить этот критерий в запрос, это должно быть что-то вроде этого:
$c = new Criteria();
$criterion = $c->getNewCriterion(MyblogPeer::BLOG_TITLE, "%symfony%", Criteria::LIKE);
$criterion->addOr($c->getNewCriterion(MyblogPeer::BLOG_POST, "%symfony%", Criteria::LIKE));
$c->add($criterion);
$my_blog = MyblogPeer::doSelect($c);