Selecionando todos os registros se o registro tiver algum dos IDs da matriz
Bom dia estouro.
Estou com problemas para selecionar todasTreatments
que possuem qualquer um dos IDs armazenados em uma matriz chamada@problem
.
Aqui está o meu controlador de tratamentos.
@problem = Remedy.find_by_sql(["SELECT id FROM remedies WHERE LOWER(\"remedyName\") LIKE?", "%#{params[:searchremedy]}%".downcase])
query = "SELECT * FROM treatments INNER JOIN remedies_treatments on treatments.id = remedies_treatments.treatment_id WHERE remedies_treatments.treatment_id LIKE ?"
@pretreatments = Treatment.find_by_sql([query, @problem])
Este é um erro do console
ActiveRecord::StatementInvalid (PG::SyntaxError: ERROR: syntax error at or near ","
LINE 1: ...d WHERE remedies_treatments.treatment_id LIKE 233,234,224
O operador 'LIKE' provavelmente não é o que eu preciso para o que estou procurando fazer - tentei usar o operador ANY, mas também não teve sucesso. O problema decorre do fato de ser uma matriz de números inteiros?
O modelo de tratamento.
class Treatment < ActiveRecord::Base
has_and_belongs_to_many :remedy
end
O modelo de remédio.
class Remedy < ActiveRecord::Base
has_and_belongs_to_many :treatments, dependent: :destroy
end
Há uma postagem de acompanhamento em que meu problema foi resolvidoaqui