Score:-2

ไม่ได้ใช้โอเปอเรเตอร์ View Filters' OR

ธง br

ฉันสร้างมุมมองเนื้อหาที่มีกลุ่มตัวกรองโดยใช้ตัวดำเนินการ AND ซึ่งถูก AND กับกลุ่มตัวกรองอื่นโดยใช้ตัวดำเนินการ OR (ดูภาพด้านล่าง)

ป้อนคำอธิบายรูปภาพที่นี่

อย่างไรก็ตาม ข้อความค้นหาที่สร้างขึ้นคือตัวดำเนินการ AND และกลุ่มทั้งหมดที่ไม่ได้นำไปใช้ นี่คือส่วนคำสั่ง WHERE ของแบบสอบถาม:

ที่ไหน 
(
  (
    // เนื้อหา: ประเภท (= ตามความต้องการ)
    node__field_format.field_format_target_id = '29'
  )
) 
และ 
(
  (
    (
      // เนื้อหา: เผยแพร่แล้ว (= ใช่)
      "node_field_data"."สถานะ" = '1'
    )
    และ 
    (
      // เนื้อหา: ประเภทเนื้อหา (ในกิจกรรม การฝึกอบรม)
      "node_field_data"."type" IN ('เหตุการณ์', 'training_session')
    )
  ) 
  และ
  (
    (
      // (field_date_and_location: ย่อหน้า) ย่อหน้า: ช่วงวันที่ (>= + 0 นาที)
      DATE_FORMAT((paragraphs_item_field_data_node__field_date_and_location__paragraph__field_date_range.field_date_range_value + INTERVAL -21600 SECOND), '%Y-%m-%d\T%H:%i:%s') >= DATE_FORMAT(('2021-10-19T18:53:48') + ช่วงเวลา -21600 วินาที), '%Y-%m-%d\T%H:%i:%s')
    )
  )
)

ข้อความค้นหานี้ไม่ได้ใกล้เคียงกับสิ่งที่ฉันกำหนดค่าจากระยะไกลเป็น... จากการกำหนดค่าของฉัน ฉันคาดว่าส่วนคำสั่ง WHERE จะเป็น

ที่ไหน 
(
  (
    // เนื้อหา: เผยแพร่แล้ว (= ใช่)
    "node_field_data"."สถานะ" = '1'
  )
  และ 
  (
    // เนื้อหา: ประเภทเนื้อหา (ในกิจกรรม การฝึกอบรม)
    "node_field_data"."type" IN ('เหตุการณ์', 'training_session')
  )
) 
และ 
(
  (
    // เนื้อหา: ประเภท (= ตามความต้องการ)
    node__field_format.field_format_target_id = '29'
  ) 
  หรือ
  (
    // (field_date_and_location: ย่อหน้า) ย่อหน้า: ช่วงวันที่ (>= + 0 นาที)
    DATE_FORMAT((paragraphs_item_field_data_node__field_date_and_location__paragraph__field_date_range.field_date_range_value + INTERVAL -21600 SECOND), '%Y-%m-%d\T%H:%i:%s') >= DATE_FORMAT(('2021-10-19T18:53:48') + ช่วงเวลา -21600 วินาที), '%Y-%m-%d\T%H:%i:%s')
  )
)

การกำหนดค่าของฉันมีปัญหาอะไร ฉันรู้สึกว่านี่ควรเป็นการใช้งานที่ค่อนข้างตรงไปตรงมา แต่ระดับที่แบบสอบถามไม่ถูกต้องดูเหมือนจะปิด ..

Score:0
ธง br

ดูเหมือนว่า Drupal มีบั๊กในโค้ดของพวกเขา ประเภทเนื้อหาที่เรากำลังแสดงมีสองสามประเภท ประเภท ซึ่งเป็นศัพท์อนุกรมวิธาน ถ้าบันทึกมี ตามความต้องการ ประเภทอนุกรมวิธานไม่มีวันที่ อย่างไรก็ตาม เมื่อแสดงรายการนี้ เราจำเป็นต้องแสดงเนื้อหาทั้งหมดพร้อมวันที่ในอนาคต หรือมีประเภทอนุกรมวิธาน 'ตามต้องการ'

นอกจากนี้ เรายังมีตัวกรองที่เปิดเผยซึ่งอนุญาตให้ผู้ใช้กรองตามประเภทของคำอนุกรมวิธานนี้ ดังนั้นจึงมีตัวกรองสองตัวแยกกันในฟิลด์เดียวกัน ตัวกรองหนึ่งถูกเปิดเผย และอีกอันไม่ได้เปิดเผย

ในกลุ่มเงื่อนไขแรก มีเงื่อนไขตัวกรองที่เปิดเผยที่เรียกว่า มีระยะเวลาอนุกรมวิธาน ที่กำลังมองดู หัวข้อ ศัพท์อนุกรมวิธาน

ในกลุ่มเงื่อนไขที่สอง มีเงื่อนไขตัวกรองที่ไม่เปิดเผยที่เรียกว่า ชนิดของเนื้อหา ที่ยังดูที่ หัวข้อ ศัพท์อนุกรมวิธาน

อย่างไรก็ตาม เมื่อ Drupal สร้างสิ่งนี้โดยที่ข้อ มันทำให้ ประเภทเนื้อหา == ตามต้องการ เงื่อนไขลงในกลุ่มเงื่อนไขที่มีตัวกรองเปิดเผยที่คล้ายกันอยู่

คุณต้องแก้ไขปัญหานี้ใน hook_views_query_alter. ฉันได้รายงานสิ่งนี้ว่าเป็นบั๊กบน Drupal.org

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา