Я хочу отфильтровать пользователей с помощью команды SQL в моей модели, если пользователю, например, ровно 5 лет. Как я могу сделать это? Запрос диапазона работает, но удаление диапазона ничего не возвращает.
Это работает, но я хочу, чтобы он выводился точно в возрасте 21 года (если дата рождения 1997/01/01), и он не должен включать 22 года.
users = users.where(["birthdate >= ? AND birthdate <= ?", 22.years.ago + 1.day, 21.years.ago])
Я пробовал этот, но он ничего не выводит: users = users.where(["birthdate = ?", 21.years.ago])
схема для пользователей
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.inet "current_sign_in_ip"
t.inet "last_sign_in_ip"
t.string "position"
t.string "employee_id"
t.string "first_name"
t.string "middle_name"
t.string "last_name"
t.string "gender"
t.string "address"
t.string "sss_number"
t.string "tin_number"
t.string "phil_health"
t.string "emergency_name"
t.string "emergency_contact"
t.date "birthdate"
t.date "date_hired"
t.string "role", default: "user"
t.integer "department_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["email"], name: "index_users_on_email", unique: true
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
конец