2016-12-30 15 views
1

以下のクエリで何を変更する必要がありますか? date_of_leavingがnullである、またはdate_of_leavingが過去60日間の間にあるか、またはdate_of_leavingがDate.todayまたは現在の日付以上であるすべての従業員を欲しいです。エラーが発生し、Mysql2 :: Error:あなたはあなたのSQL構文でレールにエラーがありますか?

employees = @company.employees.where('date_of_leaving BETWEEN ? AND ? OR date_of_leaving IS NULL OR date_of_leaving IS >= Date.today', Date.today - 60, Date.today) 

私は以下のように別の方法で試しました。

employees = Company.find(4).employees.where('date_of_leaving BETWEEN ? AND ? OR date_of_leaving IS NULL OR date_of_leaving IS >= ?', Date.today - 60, Date.today,Date.today) 

答えて

1

あなたの問題はフレーズIS >=だと思います。

isを比較演算子に使用しないでください。オペレーターだけ。それを取り出して、そうでなければ良いように見える。

関連する問題