我正在尝试获取特定用户的用户帐户。
基本代码:
$ownerIds = array();
foreach ($owners as $owner) {
$ownerIds[] = $owner->getId();
}
$qb = $this->entityManager
->createQueryBuilder();
然后我尝试了以下:
1
$qb->select('a')
->from('Account', 'a')
->andWhere('a.owner IN (?1)')
->setParameters(array(
1 => $ownerIds
);
2
$qb->select('a')
->from('Account', 'a')
->add('where', $qb->expr()->in('a.owner', '?1'))
->setParameters(array(
1 => $ownerIds
);
我还尝试使用参数名称':name'
切换问号$qb->select('a')
->from('Account', 'a')
->add('where', $qb->expr()->in('a.owner', ':name'))
->setParameters(array(
':name' => $ownerIds
);
但我仍然收到此错误:整数的输入语法无效:“数组”
答案 0 :(得分:2)
试试这个:
$qb->select('a')
->from('Account', 'a')
->andWhere($qb->expr()->in('a.owner', $ownerIds));
希望这有帮助。