0

У меня есть вопрос, используя рельсыКак я могу сделать несколько условных выражений?

Как я могу сделать этот код с помощью реек

select * from policy_vehicles where policy_id 
    IN (SELECT id FROM policies WHERE 
    client_id IN (SELECT id FROM clients raz_soc = ?)) 

Спасибо Я буду признателен помочь

+0

Это нетипично SQL, по сравнению с тем, что обычно находится в Rails. Это выполнимо, но это не будет выглядеть как обычный Ruby-код. Вам, вероятно, лучше вложить его прямо сейчас: 'PolicyVehicle.find_by_sql (« ВАШ ЗАПРОС ЗДЕСЬ »)' –

ответ

1

.map (&: ID) Используйте ActiveRecord где метод. Вы можете просто передать массив значений для предложения SQL IN.

PolicyVehicles.where(:column_a => value_a, :column_b => value_b) 

Так

PolicyVehicles.where(:client_id => Client.where(:column => :value).map(&:id)) 
+0

Фантастический !! ... :) вы даете мне ответ спасибо –

Смежные вопросы