如何在学说中使用int标志选择行



我想使用Doctrine查询构建器从表中选择所有条目,这些条目已在int列中设置了一个特殊标志:

'query_builder' => $this->em->createQueryBuilder()
    ->select('e')
    ->from('AppBundleEntityMyEntity', 'e')
    ->where('e.flags & 1 = 1');

直接在MySQL中使用时,SELECT ... WHERE flags & 1 = 1语法正常工作。但是,当尝试执行上述查询时,我会收到以下错误:

错误:Expection =,<,< =,<>,>,> =,!=,get'&'

那么,如何使用学说处理/选择标志?

学说的语法有些不同。另外,您要尝试执行的操作被称为BITWISE和操作。

而是尝试一下:

'query_builder' => $this->em->createQueryBuilder()
->select('e')
->from('AppBundleEntityMyEntity', 'e')
->where('BIT_AND(e.flags,1) = 1');

在SQL Server上测试。

docs:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#id3

相关内容

  • 没有找到相关文章

最新更新