я задаюсь вопросом, каков корректный способ найти объекты от базы данных?
я знаю, что существует
$em->find()
$em->createQuery()
я предполагаю createQuery
будет больше как подготовленные операторы, таким образом более безопасные?
как я устанавливаю названные параметры в DQL?
$em->createQuery('select u from \Entities\Users u WHERE u.name = :name');
Кажется, я нашел ответ здесь
$query = $em->createQuery('SELECT COUNT(a.id) FROM CmsUser u LEFT JOIN u.articles a WHERE u.username = ?1 GROUP BY u.id');
$query->setParameter(1, 'jwage');
$numArticles = $query->getResult(Query::HYDRATE_SINGLE_SCALAR);
setParameter ()
Интересно, а экранирует ли find ()
значения?
Для 1.X DQL это было
Doctrine_Query :: create () -> from ("Модель m") -> addWhere ("m.field =?", $ Value);
Что-то подобное должен быть доступен в DQL 2.X