Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Rails truy vấn SQL trên số lượng truy vấn không xác định (động) bằng cách sử dụng LIKE

Những gì bạn muốn làm là chuyển một mảng dưới dạng một đối số duy nhất đến where chứa cả truy vấn VÀ các giá trị động. Ví dụ:

where(["att_1 LIKE ? OR att_2 LIKE ?", "value1", "value2"])

Nếu một mảng được chuyển làm đối số đầu tiên và duy nhất, thì phần tử đầu tiên của mảng được coi như một mẫu. Các giá trị mảng sau được coi là giá trị động cho mẫu truy vấn.

Đối với ví dụ của bạn, thay vì có hai biến riêng biệt queriesqueries , kết hợp chúng thành một queries biến:

# A single array with the query AND values
query = ["hobby LIKE ? OR (gender LIKE ? AND hobby LIKE ?)", "skiing", "male", "jogging"]

# Run the `where` with a single array as the argument
YourModel.where(query)

Điều này sẽ cho phép bạn truy vấn DB với một số lượng giá trị không xác định bằng cách sử dụng LIKE .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách nhúng video vào mã laravel

  2. bỏ qua các từ dừng toàn văn bản mysql trong truy vấn

  3. Tại sao SELECT ... WHERE id =a trả về kết quả nếu giá trị là 0

  4. Sao lưu và khôi phục đơn giản cho Cơ sở dữ liệu mysql từ Java

  5. Chạy AMP (apache mysql php) trên Android