Как я должен найти объекты в Доктрине? DQL или находят ()

я задаюсь вопросом, каков корректный способ найти объекты от базы данных?

я знаю, что существует

$em->find()
$em->createQuery()

я предполагаю createQuery будет больше как подготовленные операторы, таким образом более безопасные?

как я устанавливаю названные параметры в DQL?

$em->createQuery('select u from \Entities\Users u WHERE u.name = :name');
1
задан Carl Smotricz 24 July 2010 в 14:49
поделиться

2 ответа

Кажется, я нашел ответ здесь

$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 () значения?

2
ответ дан 2 September 2019 в 22:47
поделиться

Для 1.X DQL это было

Doctrine_Query :: create () -> from ("Модель m") -> addWhere ("m.field =?", $ Value);

Что-то подобное должен быть доступен в DQL 2.X

0
ответ дан 2 September 2019 в 22:47
поделиться