モデルにスコープがあります:
scope :daily, lambda {|day| where :post_time =>
[day.beginning_of_day() .. day.end_of_day()] }
:post_time
はデータベースでnull許容ではないと宣言されていますが、ARELはIN (NULL)
生成されたSQLにスプリアスを追加することを主張しています。
SELECT `<table>`.* FROM `<table>`
WHERE (`<table>`.`post_time`
BETWEEN '2013-02-05 00:00:00' AND '2013-02-05 23:59:59'
OR `<table>`.`post_time` IN (NULL))
どうすればこれをやめることができますか?明らかに、もう1つ条件などを追加できますnot_eq(nil)
が:post_time != nil
、私の質問は、 ARELがそれを行う理由と、それを無効にするための追加の条件なしでそれを防ぐにはどうすればよいかということです。