0

私は Symfony 1.4.20 アプリケーションを構築しており、次のコードを書きました:

public function getListForAdmin() {
    $user = sfContext::getInstance()->getUser();
    $q = $this->createQuery('g');

    if ($user->hasCredential('can_admin_full')) {
        $q->addWhere('g.name IN (?)', array('Administradores Monitor', 'Monitor'));
    } else if ($user->hasCredential('can_admin')) {
        $q->addWhere('g.name IN (?)', array('Monitor'));
    }

    return $q;
}

Symfony のログを見ると、結果のクエリは次のようになります。

SELECT s.id AS s__id, s.name AS s__name, s.description AS s__description, s.created_at AS s__created_at, s.updated_at AS s__updated_at 
      FROM sf_guard_group s 
      WHERE (s.name IN ('Administradores Monitor'))

私はphpMyAdminでクエリを実行しましたが、すべて問題ありません。つまり、クエリに問題はありませんが、Doctrineを使用したSymfonyでは次のエラーが発生します。

SQLSTATE[HY093]: 無効なパラメーター番号: バインドされた変数の数がトークンの数と一致しません

なんで?どうしたの?

4

1 に答える 1