Конвертировать SQL-запрос в код Doctrine - PullRequest
0 голосов
/ 25 апреля 2011

Как мне написать этот SQL-запрос в Doctrine 1.2?

SELECT * FROM homes 
    WHERE published = 1 
    AND
    (
     LOWER(country) LIKE '$search%' 
     OR 
     LOWER(city) LIKE '$search%'
     OR
     LOWER(area) LIKE '$search%'
    )

EDIT

Это мой актуальный запрос. Пример выше был упрощенной версией. Я просто хочу сейчас, как я могу объединить несколько ГДЕ вместе

Doctrine_Query::create()
                        ->select('h.*,c.*')
                        ->from('Homes h')
                        ->where('h.published = ?',1)
                        ->addWhere('LOWER(c.printable_name) LIKE ?', $search . "%")
                        ->orWhere('LOWER(h.city) LIKE ?', $search . "%")
                        ->orWhere('LOWER(h.area) LIKE ?', $search. "%")
                        ->orWhere('LOWER(h.name) LIKE ?', $search. "%")

                        ->leftJoin('h.Countries c');

1 Ответ

0 голосов
/ 25 апреля 2011

ОК, сценарий, который сработал, был:

Doctrine_Query::create()
                        ->select('h.*,c.*')
                        ->from('Homes h')
                        ->where('h.published = ?',1)
                        ->andWhere('LOWER(c.printable_name) LIKE ? OR LOWER(h.city) LIKE ? OR LOWER(h.area) LIKE ? OR LOWER(h.name) LIKE ?', array($search . "%",$search . "%",$search . "%",$search . "%"))
                        ->leftJoin('h.Countries c');

Не знаю, подумал, если это лучший способ написать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...