我試圖從rails中獲取一個複雜的數據。Rails 5 - 如何獲得OR條件而不是AND的記錄
我想要的是所有用戶,與它們相關聯的任務,並且僅限於特定項目。
下面是引用任務模式:
create_table "tasks", force: :cascade do |t|
t.date "start_date"
t.date "end_date"
t.integer "hours"
t.string "priority"
t.integer "project_id"
t.integer "user_id"
t.string "name"
t.string "description"
末
我完成這部分與此調用
users = User.includes(:tasks).where('tasks.end_date Between ? AND ?', Date.today.beginning_of_week, Date.today.end_of_week).references(:tasks).where('tasks.start_date Between ? AND ?', Date.today.beginning_of_week, Date.today.end_of_week).references(:tasks).where('tasks.project_id = ?', @project.id).map { |user| user.as_json.merge({tasks: user.tasks.as_json}) }
我的問題是,我查詢沒有找到基於任務在他們的日期正確。
我正在嘗試查找一週內的所有任務,這些任務在該周內都有start_date或end_date。
這是可能的在一個查詢中,還是我需要更高級的邏輯?
請與數據庫服務器 –