参考までに、この質問は行き詰まっていたので、解決に協力してくれたすべての人に感謝します。
イベントの長さがさまざまな予約プログラムで、イベントの潜在的な衝突を見つけようとしています。
(a ≤ x && e ≥ y) || (a ≥ x && e ≤ y) || (a ≤ x && e ≤ y) || (a ≥ x && e ≥ y)
これを達成するために DataMapper を使用していますが、以前のクエリは間違っていました。次に、上記を理解しましたが、それをクエリに変換する方法がわかりません。以下は、参照用の私の間違ったクエリです。
class Table
def is_available?
return false if (TableBooking.all(:at.lte => params[:at], :at.gt => params[:ending], :ending.gt => params[:at], :ending.gte => params[:at]).count > 0)
end
end