Как сделать запрос NOT NULL с Doctrine 2?

У меня точно такой же вопрос, как спросил раньше, но последнему вопросу уже 6 лет, и существуют новые версии Учения, поэтому я сейчас задаю этот вопрос со ссылкой на последнюю версию Учения.

У меня есть таблица Test:

Тестовое задание:

id | name
1  | aaa
2  |
3  | ccc
4  | aaa
5  |
6  | ddd

Я хочу результат, где имя НЕ NULL:

aaa
ccc
aaa
ddd

Этот синтаксис не работает:

$em->getRepository('Test')->findBy(array('name' => notnull));

Есть ли что-то подобное, что будет работать с использованием синтаксиса findBy?

1

Решение

Там нет быстрого метода, как findBy, но вы можете использовать построитель запросов:

$qb = $em->createQueryBuilder(); // $em is your entity manager
$result = $qb->select("t")
->from("Test t")
->where($qb->expr()->isNotNull("t.name"))
->getQuery()->getResult();

Это даст вам все сущности, где name не является NULL,

Увидеть http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html для справки всех методов построителя запросов, в том числе доступных через $qb->expr(),

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector