symfony - 如何将实体数组传递给实体存储库并运行“在哪里”查询?
问题描述
我有数组Plan $plans
。如何将该数组 $plans 传递给我的成员控制器?目前我使用:
* @param Plans|array $plan
在注释中
public function findMembersByPlans( $planArray)
{
$queryBuilder = $this->createQueryBuilder('m');
$count = $queryBuilder->select('count(m)')
->leftJoin('mp.plan', 'p')
->where($queryBuilder->expr()->in('p.plan', ':planArray'))
->setParameters(
[
'planArray'=> $planArray,
]);
如何获取成员数?当我传递 1 个对象时。Plan $plan
作为参数一切正常。
解决方案
你可以尝试这样的事情:
->leftJoin('mp.plan', 'p', Join::WITH, $queryBuilder->expr()->in('p.id', ':planIds'))
->setParameteter('planIds', array_map(
function (Plan $plan) {
return $plan->getId();
}, $planArray
))
您可以删除 where 子句。
推荐阅读
- scala - 将元素流分组为多个流
- python - 使用 python3-beautifulsoup3 从 HTML 中抓取字符串
- android - 如何在 Flutter 中授予访问外部存储的权限
- java - Spring Boot 中请求映射的多线程
- html - Html 视频长宽比
- python - 如何在 Python PyQt 中保持窗口打开
- scala - scala sbt libraryDependencies 提供 - 避免下载 3rd 方库
- javascript - JS 中的 XMLHttpRequest 在 Safari 上不起作用
- python - 我的代码窗口在计算内容时没有响应
- python - 熊猫应用功能不会为列分配值