Saya ingin melakukan sesuatu seperti:
SELECT * FROM USER WHERE NAME LIKE '%Smith%';
Upaya saya di Arel:
# params[:query] = 'Smith'
User.where("name like '%?%'", params[:query]).to_sql
Namun, ini menjadi:
SELECT * FROM USER WHERE NAME LIKE '%'Smith'%';
Arel membungkus string kueri 'Smith' dengan benar, tetapi karena ini adalah pernyataan LIKE, ini tidak berfungsi.
Bagaimana cara melakukan query LIKE di Arel?
Bonus PS - Saya sebenarnya mencoba memindai dua bidang pada tabel, nama dan deskripsi, untuk melihat apakah ada kecocokan dengan kueri. Bagaimana cara kerjanya?
1
Saya memperbarui jawaban arel untuk bonus.
—
Pedro Rolo