I had such an error that can explain what I did wrong?
I add only this sql query:
(? = (select travel_region_id from relationships where travel_id = travels.id))
Error
ActiveRecord::StatementInvalid (Mysql::Error: Subquery returns more than 1 row: select count(*) from travel_start_days, cars, travels where travels.id = travel_start_days.travel_id and travels.id = travel.car_id and travel_start_days.day > adddate(curdate(), interval '2' day) and (7 = (select travel_region_id from relationships where travel_id = travels.id)) and '2013-08-16' <= travel_start_days.day):
Whis update is a request creation method
def conditions where = '' param = [] if @region && @region != '' where += 'travels.region_id = ?' param += [@region.to_i] end if @car && @car != '' where += ' and ' if where != '' where += 'cars.id = ?' param += [@car.to_i] end if @relation && @relation != '' where += ' and ' if where != '' where += '(? = (select travel_region_id from relationships where travel_id = travels.id))' param += [@relation.to_i] end if @start_port && @start_port != '' where += ' and ' if where != '' where += '(? = (select location_id from travel_days where travel_id = travel_start_days.travel_id and day_no = 1 order by arrival asc limit 1))' param += [@start_port.to_i] end return where == '' ? nil : ["travel_start_days.day > adddate(curdate(), interval ? day) and " + where] + [@criteria[5]] + param end
source share