我有一个存储各种标志的位掩码类型。
在使用原则执行以下查询时遇到问题。
SELECT id, name, flags FROM stores WHERE flags & 4 = 4;
我尝试了以下代码,但收到错误消息[Syntax Error] line 0, col 175: Error: Expected =, <, <=, <>, >, >=, !=, got '&'
。
方法1:
$builder = $this->getEntityManager()->createQueryBuilder();
$builder->select('ads')
->from($this->getClassName(), 'ads')
->where("ads.flags & 4=4");
return new ArrayCollection($builder->getQuery()->getResult());
------------------或-------------------
方法2:
$repo->findBy(['flags' => '& 4=4']);
如何使用第一种和第二种方法成功实现上述原始SQL查询?