Написание запросов с использованием методов Doctrine? - PullRequest
0 голосов
/ 26 мая 2011

У меня проблемы с написанием сложных запросов с использованием методов Doctrine, и я хотел бы знать, как это сделать, может быть, кто-то может мне помочь.

1) What's the equivalent of SELECT * FROM users WHERE user = 'admin' and password = 123456
2) What's the equivalent of SELECT name, title FROM products WHERE category_id = 4 AND title LIKE %something%
3) What's the equivalent of SELECT products.id, users.id FROM users INNER JOIN orders ON users.id = orders.buyer INNER JOIN products ON orders.product = products.id WHERE users.id = 2

1 Ответ

1 голос
/ 26 мая 2011

1)

UsersTable::getInstance()->findByUserAndPassword('admin', 123456);

2)

Doctrine_Query::create()
     ->select('p.name, p.title')
     ->from('Products p')
     ->where('category_id = ? AND title LIKE ?', array(4, '%something%'));

3)

Doctrine_Query::create()
     ->select('p.id, u.id')
     ->from('Users u')
     ->innerJoin('u.Order o')
     ->innerJoin('o.Products p')
     ->where('u.id = ?', 2);

Реальные имена отношений Order и Products для модели Users могут отличаться (в зависимости от фактической схемы).

...