ฉันลองคำตอบนี้:
https://drupal.stackexchange.com/a/298084/1082
แต่ฉันดูเหมือนจะใช้ไม่ได้
'field_scientists' => $entity_reference_uuid
โดยที่ในกรณีของฉัน field_scientists
เป็นฟิลด์ประเภท Entity Reference UUID - ซึ่งเป็นฟิลด์ประเภทที่จัดทำโดย https://www.drupal.org/project/entity_reference_uuid โมดูล
สิ่งที่เกิดขึ้นกับฉันคือฉันไม่ได้อะไรกลับมา อาร์เรย์ผลลัพธ์ของฉันจากตัวอย่างนั้นว่างเปล่า
ต้องการทำเช่นนี้โดยทางโปรแกรมในโมดูลที่กำหนดเองของฉันเอง แทนที่จะใช้ Drupal View
หากมีวิธีอื่นเช่น ที่ใช้ ->สอบถาม
วิธีการสอบถามฐานข้อมูล ฉันยินดีที่จะใช้วิธีการทางโปรแกรมนั้น
ขอขอบคุณ.
อัปเดต
ตัวอย่างของ ยูอิด
ของ โหนด
ในกรณีของฉันคือ BMSSYS0000051988
.
ซึ่งตั้งค่าไว้ในการนำเข้าการย้ายข้อมูลจากช่องใน CSV
ความพยายามของฉันคือ:
1. ตามตัวอย่างในคำถามอื่น: https://drupal.stackexchange.com/a/298084/1082
$nodes = \Drupal::entityTypeManager()->getStorage('node')->loadByProperties([
'type' => 'bol',
'field_parent_uuid' => $taxonkey,
]);
2. แบบสอบถามฐานข้อมูล
$query = \Drupal::entityQuery('โหนด')
-> เงื่อนไข ('สถานะ', NODE_PUBLISHED)
->เงื่อนไข ('ประเภท', 'bol');
$and = $query->andConditionGroup();
$and->condition('field_parent_uuid', $taxonkey);
$query->condition($และ);
$result = $query->execute();
ที่ไหน $แท็กซอนคีย์
เป็น BMSSYS0000051988
ความพยายามทั้ง 1 และ 2 ครั้งด้านบนจะส่งคืนอาร์เรย์ว่าง
อัปเดต 2
นี่คือการกำหนดค่าการย้ายข้อมูลของฉันที่แสดง uuid ที่ถูกเขียนถึงจากฟิลด์ใน csv สิ่งนี้ถูกกฎหมายหรือไม่ รหัสของนักพัฒนาควรเปลี่ยนค่า uuid หรือควรจัดการ uuid โดย Drupal core เท่านั้น
การพึ่งพา: { }
รหัส: bol_csv_import
คลาส: null
field_plugin_method: null
cck_plugin_method: null
การโยกย้าย_tags: null
การโยกย้ายกลุ่ม: defaultl: publicbins
ป้ายกำกับ: 'นำเข้าข้อมูลสปีชีส์บอล'
แหล่งที่มา:
ปลั๊กอิน: csv
เส้นทาง: ./data/taxonomy_species_with_unpacked_bold.csv
ตัวคั่น: ','
สิ่งที่แนบมา: '"'
header_offset: 0
รหัส:
- ยูอิด
เขตข้อมูล:
-
ชื่อ: uuidl: publicbins
ป้ายกำกับ: 'รหัส NBN'
-
ชื่อ: parent_uuid
ป้ายกำกับ: 'รหัส NBN ของพาเรนต์'
-
ชื่อ: ชื่อ
ป้ายกำกับ: ชื่อ
-
ชื่อ:ยศ
ป้ายกำกับ: 'อันดับอนุกรมวิธาน'
-
ชื่อ: taxon_key
ป้ายกำกับ: 'กุญแจภาษี'
-
ชื่อ: อำนาจ
ป้ายกำกับ: ผู้มีอำนาจ
-
ชื่อ: specmenrecords
ป้ายกำกับ: specmenrecords
-
ชื่อ: บันทึกสาธารณะ
ป้ายกำกับ: บันทึกสาธารณะ
-
ชื่อ: ถังขยะสาธารณะ
ป้ายกำกับ: ถังขยะสาธารณะ
-
ชื่อ:แท็กซี่
ป้ายกำกับ: 'NBN Taxon ID'
กระบวนการ:
หัวเรื่อง : ชื่อ
uid:
ปลั๊กอิน: default_value
default_value: 1
ยูอิด: ยูอิด
field_parent_uuid: parent_uuid
field_taxon_key:แท็กซอน_คีย์
field_authority: ผู้มีอำนาจ
field_rank: อันดับ
field_num_bold_barcode_specimens: บันทึกตัวอย่าง
field_num_bold_public_records: บันทึกสาธารณะ
field_num_bold_public_bins: ถังขยะสาธารณะ
field_bold_taxon_id: แท็กซี่
พิมพ์:
ปลั๊กอิน: default_value
default_value: บอล
ปลายทาง:
ปลั๊กอิน: 'เอนทิตี: โหนด'
การโยกย้าย_การพึ่งพา: null
ปรับปรุง 3
ฉันจะเขียนแบบสอบถาม db เพื่อแก้ปัญหานี้ การรันบรรทัดคำสั่ง sql บ่งชี้ว่าวิธีนี้อาจใช้ได้ผล:
MariaDB [db]> เลือก * จากโหนดโดยที่ nid = 246;
+-----+------+------+----------+-------- +
| นิด | วิดีโอ | พิมพ์ | ยูอิด | รหัสภาษา |
+-----+------+------+----------+-------- +
| 246 | 248 | บอล | NBNORG0000041189 | th |
+-----+------+------+----------+-------- +
1 แถวในชุด (0.001 วินาที)