Điểm:0

Cách thay đổi truy vấn lượt xem ngày kết thúc cho tìm kiếm api

lá cờ cn
blu

Tôi đang cố gắng thay đổi bộ lọc ngày được hiển thị trong chế độ xem mà tôi đã tạo bằng cách sử dụng api tìm kiếm solr. Tôi nhận thấy rằng bộ lọc ngày kết thúc không hoạt động trừ khi tôi thêm một ngày vào ngày kết thúc. vì vậy, ví dụ nếu tôi có các nút sau:

Tiêu đề ngày bắt đầu ngày cuối
một 01/01/2020 01/01/2021
b 02/01/2020 02/01/2022
c 03/01/2020 03/01/2023

và tôi sử dụng bộ lọc bị lộ để trả về ngày kết thúc là 01/02/2022 với toán tử nhỏ hơn hoặc bằng, nó sẽ không trả về các nút a và b trừ khi tôi thay đổi ngày kết thúc thành 02/02/2022.

Tôi gặp khó khăn khi cố gắng tìm ra cách sửa đổi hook_views_query_alter() để thêm thời gian (tôi cho rằng đó là điều sai.).

function my_module_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {
  if ($view->id() == 'my_solr_search' && !empty($view->exposed_raw_input['field_end_date'])) {
    $query->addWhere(0, 'field_end_date', $view->exposed_raw_input['field_end_date'] . '23:59', '<=');
  }
}

CHỈNH SỬA: Điều này gần như hoạt động, miễn là không có đầu vào nào trong bộ lọc ngày kết thúc được hiển thị, tuy nhiên tôi không thể có điều đó vì bộ lọc dựa vào đầu vào của người dùng:

function my_module_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {
  if ($view->id() == 'my_solr_search' && !empty($view->exposed_raw_input['field_end_date'])) {
    // Mã cứng ngày kết thúc vì không có đầu vào.
    $end_date = DateTime::createFromFormat('m/d/Y H:i:s', $view->exposed_raw_input['field_end_date'] . ' 23:59:59');
    $group_id = $query->setWhereGroup('AND', NULL, 'where');
    $query->addWhere($group_id, 'field_end_date', $end_date->format("U"), '<=');
  }
}

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.