2016-10-18 11 views
0

これは条件付きクエリです。LIKEに余分な引用符を追加することを続ける

var where = []; 

その後、私は常に検索のためにIDを入れて:コードで始まるだから、なぜだ

where.push({myId: myId}); 
私はその後、条件が満たされているかどうかをチェックし、その場合にはLIKE追加

if(req.query.search !== undefined && req.query.search != ''){ 
where.push({name: {$like: req.query.search}}); 
} 

私が見生成したクエリを見て:

SELECT "id", "name" FROM "MyTable" WHERE ("MyTable"."myId" = 1 AND "MyTable"."name" LIKE '''%''ABCD''%'''); 

ご覧のとおり、多くの引用符が追加されています。

最初と最後のすべての引用符を手動で削除すると、クエリが正常に実行されます。

なぜこれらの引用符をすべて追加し続けるのですか?私は間違った方法でLIKE演算子を使用していますか?

+1

私の答えをチェックしてください – Mouneer

答えて

0

悪い。私はlikeのように$を変え、すべての引用符は消えた。

0

最近、私はこの問題に直面し、関連する問題は見つかりませんでした。私の場合はlike$likeの両方が動作しませんでした。いくつかの試行の後、この作品:

model.findAll({ 
    where: Sequelize.where(Sequelize.col('columnName'), { 
    like: `%${string}%`, 
    }), 
}) 
関連する問題