Điểm:2

Drupal JSON:API - truy xuất các nút được gắn thẻ theo nhiều thuật ngữ

lá cờ cn

Giả sử tôi có loại nội dung bài viết và trường tham chiếu field_tags (có nhiều giá trị tham chiếu từ vựng "thẻ")

Để truy xuất các bài viết tham chiếu, chẳng hạn như "tag1" hoặc "tag2", tôi làm như sau:

jsonapi/nút/bài viết?
&filter[tags][condition][path]=field_tags.id
&filter[thẻ][điều kiện][toán tử]=IN
&filter[thẻ][điều kiện][giá trị][]=id-of-tag1
&filter[thẻ][điều kiện][giá trị][]=id-of-tag2

Điều đó mang lại cho tôi tất cả các bài viết có tag1 hoặc tag2.

Tuy nhiên, Làm cách nào tôi có thể nhận được tất cả các bài viết có cả tag1 thẻ2?

Điểm:0
lá cờ cn

Bạn có thể sử dụng nhóm điều kiện và có như dưới đây:

?filter[tag-group][group][conjunction]=AND

&filter[tagA-filter][condition][path]=field.tags.id
&filter[tagA-filter][condition][value]=id-of-tag1
&filter[tagA-filter][condition][memberOf]=tag-group

&filter[tagB-filter][condition][path]=field.tags.id
&filter[tagB-filter][điều kiện][giá trị]=id-of-tag2
&filter[tagB-filter][condition][memberOf]=tag-group

Tôi chưa thử điều đó nhưng tôi nghĩ bạn thậm chí có thể sử dụng một mã như thế này:

?filter[tagA-filter][condition][path]=field.tags.id
&filter[tagA-filter][condition][value]=id-of-tag1
&filter[tagB-filter][condition][path]=field.tags.id
&filter[tagB-filter][điều kiện][giá trị]=id-of-tag2

chỉ cần lưu ý rằng trong trường hợp này, hai khóa khác nhau được sử dụng cho các điều kiện

Hubert avatar
lá cờ cn
Thật không may, điều đó dường như không hoạt động. Khi tôi thử nó không trả lại bất kỳ kết quả nào.
Điểm:0
lá cờ pw

Tôi đã thử như sau

/jsonapi/node/article?filter[field_tags.meta.drupal_internal__target_id]=5&filter[field_tags.meta.drupal_internal__target_id]=6

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

bạn có thể thấy trong ảnh chụp màn hình chỉ có 1 nút được lọc có cả id thuật ngữ 5 & 6.

Hubert avatar
lá cờ cn
Cảm ơn vi đa trả lơi! Khi tôi thử điều này, nó chỉ trả về các nút có giá trị cuối cùng trong bộ lọc. Vì vậy, trong ví dụ của bạn, tôi nghĩ rằng điều này sẽ chỉ trả về các nút có thuật ngữ id là 6 . Trong thử nghiệm của bạn, bạn có các nút chỉ có thuật ngữ id 6 không? Tôi nghĩ rằng họ sẽ được trả lại với truy vấn đó.
khurrami avatar
lá cờ pw
Có, bạn đúng khi tôi chỉ thêm nút với thuật ngữ id 6 cũng được lọc.

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