Doctrine 2 WHERE IN - 整数的无效输入语法:"Array"
Doctrine 2 WHERE IN - invalid input syntax for integer: "Array"
我正在尝试获取特定用户的用户帐户。
基本代码:
$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
);
但我仍然收到此错误:整数的无效输入语法:"Array"
试试这个:
$qb->select('a')
->from('Account', 'a')
->andWhere($qb->expr()->in('a.owner', $ownerIds));
希望对您有所帮助。
我正在尝试获取特定用户的用户帐户。
基本代码:
$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
);
但我仍然收到此错误:整数的无效输入语法:"Array"
试试这个:
$qb->select('a')
->from('Account', 'a')
->andWhere($qb->expr()->in('a.owner', $ownerIds));
希望对您有所帮助。