Doctrine DBAL querybuilder オブジェクトを作成し、パラメータを設定しようとしています。(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式自体に(準備されたステートメントを使用せずに)idを設定しようとしましたが、うまくいきました。しかし、私はこれを準備済みステートメントで機能させたいと思っています。
誰でもこれを解決する方法を知っていますか?
前もって感謝します