Doctrine orm 原则2,其中IN-整数的输入语法无效:";数组";

Doctrine orm 原则2,其中IN-整数的输入语法无效:";数组";,doctrine-orm,where,Doctrine Orm,Where,我正在尝试获取特定用户的用户帐户 基本代码: $ownerIds = array(); foreach ($owners as $owner) { $ownerIds[] = $owner->getId(); } $qb = $this->entityManager ->createQueryBuilder(); 然后我尝试了以下几点: 一, 二, 我还尝试用参数名“:name”切换问号 $qb->select('a') ->

我正在尝试获取特定用户的用户帐户

基本代码:

$ownerIds = array();
foreach ($owners as $owner) {
    $ownerIds[] = $owner->getId();
}
    $qb = $this->entityManager
    ->createQueryBuilder();
然后我尝试了以下几点:

一,

二,

我还尝试用参数名“:name”切换问号

$qb->select('a')
        ->from('Account', 'a')
        ->add('where', $qb->expr()->in('a.owner', ':name'))
        ->setParameters(array(
            ':name' => $ownerIds
        );
但我仍然会遇到以下错误:整数的输入语法无效:“数组”请尝试以下操作:

$qb->select('a')
   ->from('Account', 'a')
   ->andWhere($qb->expr()->in('a.owner', $ownerIds));

希望这有帮助。

好的。这个很好用。但为什么我不能像通常那样传递参数呢?
$qb->select('a')
        ->from('Account', 'a')
        ->add('where', $qb->expr()->in('a.owner', ':name'))
        ->setParameters(array(
            ':name' => $ownerIds
        );
$qb->select('a')
   ->from('Account', 'a')
   ->andWhere($qb->expr()->in('a.owner', $ownerIds));