typeormでの複数同名カラム条件の追加 : 同名のカラムに対してパラメータ名が同じだと、パラメータが上書きされてしまいます。 パラメータには['hoge', 'fuga']を渡したいのに・・ NG queryBuilder.andWhere( new Brackets(subQb => { for (const [key, value] of list.entries()) { subQb.orWhere('name = :name', { name: value }); } }), ); これで生成されるSQLが以下。 AND (name = @2 OR name = @3) -- PARAMETERS: ["fuga","fuga"] <== 困った なので、意図的にパラメータ名が一意になるようにします。 OK queryBuilder.andWhere( new Brackets(subQb => { for (const [key, value] of list.entries()) { subQb.orWhere(`name = :name_${key}`, { [`name_${key}`]: value }); } }), ); 配列のキーに変数が簡単に使えるようになったの最高ですね。 参考: ES2015以降のJavaScriptでObjectのkeyに変数を使う - Qiita これで生成されるSQLが以下。 AND (name = @2 OR name = @3) -- PARAMETERS: ["hoge","fuga"]