доктрина dbal querybuilder как подготовленное утверждение
Я пытаюсь создать объект построителя запросов Doctrine DBAL и установить в нем параметр. (с использованием postgres db, dbal 2.3.4, доктрина
$connection = $this->_em->getConnection();
$qb = $connection->createQueryBuilder();
$qb->select('tbl_user_contract.pkid AS pkid');
$qb->from('tbl_user_contract', 'tbl_user_contract');
$qb->join('tbl_user_contract', 'tbl_user', 'tbl_user', 'tbl_user_contract.fk_user = tbl_user.pkid');
$qb->where('tbl_user.pkid = :userid');
$qb->setParameter(':userid', 10);
Когда я пытаюсь получить результаты этого объекта querybuilder, я получаю следующую ошибку:
SQLSTATE[08P01]: <<Unknown error>>: 7 ERROR: bind message supplies 0 parameters,
but prepared statement "pdo_stmt_00000002" requires 1
Когда я проверяю журналы postgres, я вижу, что запрос проходит мимо, и я замечаю, что он ожидает параметр, но я не получу передаваемый параметр.
Я попытался установить идентификатор в самом выражении where (без использования подготовленных операторов), это сработало. Но я действительно хочу, чтобы это работало с готовыми заявлениями.
Кто-нибудь знает, как это решить?
заранее спасибо