Tôi đang trả lại tin tức cho trang chủ của mình trong băng chuyền. Tôi đang sử dụng truy vấn bên dưới để trả về 9 bài viết mới nhất dựa trên ngày "tạo". Tuy nhiên, khách hàng muốn lùi ngày một số bài viết (vì vậy quản trị viên > nội dung > nút chỉnh sửa > tác giả và thay đổi ngày tạo). Tuy nhiên, điều này dường như không hoạt động vì liên tục trả về các bài viết theo thứ tự ngày thực tế mà chúng được tạo, ngay cả khi ngày được thay đổi theo cách thủ công:
$query = \Drupal::entityQuery('nút');
$query->accessCheck(FALSE)
->điều kiện('loại', 'tin tức')
->điều kiện('langcode', \Drupal::languageManager()->getCurrentLanguage()->getId(),"IN")
-> sắp xếp ('đã tạo', 'DESC')
->phạm vi(0, 9);
$nids = $query->execute();
$entities = \Drupal::entityTypeManager()->getStorage('node')->loadMultiple($nids);
Tôi đang làm gì sai? Nó dường như hoạt động tốt trong chế độ xem trang tin tức thực tế. Bản thân chế độ xem có sắp xếp được đặt là "Nội dung: Được ủy quyền vào (desc)" và điều này trả về dữ liệu như mong đợi, nhưng truy vấn tiền xử lý thì không.
CHỈNH SỬA:
Đề xuất hiện tại là thay đổi sắp xếp thành "đã thay đổi", nhưng rất tiếc, điều này không hoạt động. Tôi có cảm giác vấn đề có liên quan đến bản dịch. Sau đây là kết quả đầu tiên trong mảng. Tôi đã cố tình tiếp tục và thay đổi ngày "tác giả" thành năm 2002 để đảm bảo nó sẽ tồn tại sau cùng, tuy nhiên, nó vẫn là đầu tiên. Tuy nhiên, nếu bạn nhìn vào các giá trị, tôi nghĩ đây là nơi xảy ra sự cố:
[đã tạo] => Mảng
(
[da] => 1647950253
[x-mặc định] => 1016357523
[es] => 1647950332
[fi] => 1647950277
[fr] => 1647949861
[nb] => 1647950235
[nl] => 1647950348
[SV] => 1647950211
[en-au] => 1647949797
[en-gb] => 1647947671
[en-us] => 1647947639
[bel-fr] => 1647950381
[bel-nl] => 1647950361
)
Dựa trên kết quả này, có thể sắp xếp tìm kiếm ngày "được tạo" đầu tiên, là DA, nhưng trong trường hợp của chúng tôi, ngôn ngữ là x-default
Tôi có thể thay đổi cách sắp xếp để đảm bảo sắp xếp theo ngôn ngữ thực tế không?