Điểm:0

Gọi setExposedInput() từ lệnh Drush không có bất kỳ tác dụng nào

lá cờ ve

Chúng tôi có một lệnh Drush tùy chỉnh được triển khai bằng mã sau.

lớp JobApplicationExportCommands mở rộng DrushCommands {

  /**
   * Xuất Đơn xin việc Dorea kể từ lần chạy cuối cùng sang csv
   *
   * @command dummy:job-application-export
   * @aliases duje
   */
  hàm công khai drush_dummy_export() {
    $applicationWebformIds = Drupal::entityQuery('webform')
      ->điều kiện('danh mục', 'Bewerbungsformulare')
      ->thực thi();

    $applicationView = Lượt xem::getView('all_applications');
    $applicationView->setDisplay('default');
    $applicationView->setExposedInput([
      'webform_ids' => array_keys($applicationWebformIds),
      'đã gửi' => '2021-01-01'
    ]);

    $applicationView->execute();

    // Điều này xuất ra 0, sai.
    print_r(count($applicationView->result));
  }

}

Cấu hình xem như sau.

ảnh chụp màn hình

Nếu tôi thực thi logic tương tự thông qua bộ điều khiển tùy chỉnh/yêu cầu bình thường, thì chế độ xem sẽ trả về giá trị.

Tui bỏ lỡ điều gì vậy? Có ai biết tại sao đầu vào bị lộ của chế độ xem bị bỏ qua không?

lá cờ us
Chỉ là một suy nghĩ: có lẽ bộ lọc theo ngữ cảnh có thể hoạt động thay thế?
lá cờ ve
thx, tôi sẽ kiểm tra xem :)
lá cờ ru
Tôi đã từng gặp sự cố kỳ lạ khi `setExposedInput` chỉ hoạt động khi `use ajax` được bật trong chế độ xem cài đặt nâng cao. Không chắc chắn tại sao và nếu nó giúp ích ở đây, nhưng đáng để thử.
lá cờ ve
Điều buồn cười là, ngay cả khi tôi bỏ đầu vào bị lộ. và thực hiện theo cách tiếp cận được mã hóa cứng hơn của `hook_views_query_alter` Tôi nhận được 0 kết quả qua drush
lá cờ ve
cũng không cho phép ajax nore sử dụng các bộ lọc theo ngữ cảnh đã thay đổi hành vi không mong muốn.
lá cờ ve
ừ! Tôi nghĩ rằng nó có liên quan đến người dùng - nếu tôi không đăng nhập với tư cách quản trị viên, tôi cũng nhận được 0 kết quả qua giao diện người dùng.
Điểm:0
lá cờ ve

Được rồi, một đồng nghiệp đã cứu tôi một lần nữa: Có thể tắt kiểm tra quyền truy cập riêng lẻ cho mỗi chế độ xem thông qua Cài đặt truy vấn > Tắt tính năng viết lại SQL

nhập mô tả hình ảnh ở đây

Đối với chế độ xem và trường hợp sử dụng cụ thể này, đây chính xác là những gì cần thiết, vì nó chỉ có thể được gọi bởi các quy trình phụ trợ.

Đă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.