symfony - symfony 学说查询构建器 where(arraycollection 中的变量)
问题描述
我想按类别获取特征。
我收到了这个错误
[语法错误] 第 0 行,第 95 列:错误:预期的 Doctrine\ORM\Query\Lexer::T_OPEN_PARENTHESIS,得到“类别”
特征实体的关系:
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Category", inversedBy="characteristics")
*/
private $categories;
我的查询生成器功能:
$this->createQueryBuilder('characteristic')
->leftJoin('characteristic.categories', 'categories')
->andWhere(':category in categories')
->setParameter('category', $category)
->getQuery()
->getOneOrNullResult();
解决方案
感谢您的评论。
我通过使用MEMBER OF
语句解决了这个问题。
这是代码:
$this->createQueryBuilder('characteristic')
->andWhere(":category MEMBER OF characteristic.categories")
->setParameter('category', $category)
->getQuery()
->getOneOrNullResult()
;
推荐阅读
- java - JavaFx 通过从另一个控制器调用方法
- vuetify.js - 如何更改 v-text-field 的高度
- c++ - 迭代Kahan求和的最优实现
- kubernetes - cpu 与 requests.memory、pod 与 count/pod 之间有什么不同
- java - Azure Key Vault 在本地工作,但在 azure 云中出现 403 禁止错误
- android - 哪些 SDK 可用于 App Uninstall Analytics
- java - 为什么字母的 ASCII 会通过 .toCharArray() 方法自动转换?
- jenkins - 当 SonarQube 在不同的服务器上而 Jenkins 在不同的服务器上时,sonar.source 属性无效
- c# - 如何在 WPF 项目的 .cs 文件中使用 Textbox 的控件?
- javascript - 映射嵌套对象