DQL — как использовать оператор «&»

Я использую symfony4 с построителем запросов.

Мне нужно преобразовать sql-запрос в построитель запросов

SELECT channelTypes FROM `camp` WHERE (total & 16) = 16

У меня есть тест:

$qb = $this->createQueryBuilder('c');
$expr = $qb->expr();
$qb->where($expr->eq(('c.total & 1'), 1));

Но у меня есть эта ошибка:

Error: Expected =, <, <=, <>, >, >=, !=, got '&'","class":"Doctrine\\ORM\\Query\\QueryException"

Спасибо за помощь.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
0
220
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте встроенный побитовый оператор AND

$qb->where('BIT_AND(c.total, 1) = 1')

Большое спасибо за ваш быстрый ответ! очень хорошо работают :)

Spawnrad 22.02.2019 22:55

Другие вопросы по теме