Điểm:1

Làm cách nào để sử dụng entityQuery với loại trường tùy chỉnh?

lá cờ mx
awm

Tôi đang làm việc để tạo truy vấn cho các nút có một vài trường tùy chỉnh (loại trường). Các trường được xây dựng tùy chỉnh trong mô-đun tùy chỉnh với lược đồ tùy chỉnh. Khi tôi thực hiện truy vấn:

 $query = \Drupal::entityQuery('nút')
    ->điều kiện('loại', 'địa điểm');
 $query->condition('my_custom_field', '', '<>');

Nó không thành công với một thông báo chỉ ra rằng: node__my_custom_field.my_custom_field_value không tồn tại (KHÔNG tìm thấy). Điều này đúng, bảng có lược đồ tùy chỉnh cho trường này _giá trị không tồn tại:

 drush sqlq "mô tả nút__my_custom_field"

bó varchar(128) KHÔNG CÓ MUL     
đã xóa tinyint(4) KHÔNG CÓ PRI 0   
entity_id int(10) chưa ký KHÔNG CÓ PRI NULL    
bản sửa đổi_id int (10) chưa ký KHÔNG CÓ MUL NULL    
langcode varchar(32) KHÔNG CÓ PRI     
delta int(10) không dấu KHÔNG CÓ PRI NULL    
văn bản my_custom_field_title CÓ NULL    
văn bản my_custom_field_description CÓ NULL

Làm cách nào để làm cho truy vấn trường thực thể của tôi hoạt động với lược đồ tùy chỉnh trường này?

Điểm:2
lá cờ cn

Có vẻ như loại trường tùy chỉnh của bạn có Tiêu đềsự miêu tả cột hơn là giá trị (Drupal mặc định giả định nếu bạn không nói với nó theo cách khác).

Bạn có thể chỉ định cột trường để sử dụng với . ký hiệu như thế này:

$query->condition('my_custom_field.title', '', '<>');
$query->condition('my_custom_field.description', '', '<>');

Ví dụ, nếu bạn muốn hệ thống xem xét Tiêu đề thuộc tính làm mặc định thay vì giá trị, bạn có thể thực hiện FieldItemBase::mainPropertyName() trong lớp lĩnh vực của bạn:

hàm tĩnh công khai mainPropertyName() {
  trả lại 'tiêu đề';
}

Điều đó sẽ làm cho dòng ban đầu của bạn hoạt động cho Tiêu đề cột:

$query->condition('my_custom_field', '', '<>');
awm avatar
lá cờ mx
awm
Cảm ơn .. Đáng lẽ tôi nên tìm ra cái này ..

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