ฉันกำลังพยายามแทรกคำศัพท์ใหม่ในอนุกรมวิธาน เนื่องจากเอนทิตีที่กำหนดเองจากโมดูลที่กำหนดเองของฉันต้องการคำศัพท์นั้นเป็นข้อมูลอ้างอิงเอนทิตี ฉันคิดว่าจะเป็นการดีกว่าถ้าใส่คำศัพท์อ้างอิงไว้เสมอเพื่อให้แน่ใจว่าคำศัพท์นั้นจะอยู่ที่นั่นเสมอแทนที่จะทำเองโดยไซต์
ปัญหาคือ $entity->บันทึก()
ไม่ทำงานทั้งใน hook_install หรือใน hook_modules_installed ฉันไม่รู้ว่าปัญหาคืออะไร รหัสของฉันอยู่ด้านล่าง:
\Drupal\my_module\my_module.install.php
$vocabulary = \Drupal::entityTypeManager()->getStorage('taxonomy_vocabulary')
->loadByProperties(['vid' => 'คลาส']);
ถ้า (!empty($คำศัพท์)) {
กลับ;
}
$vocabulary = \Drupal::entityTypeManager()->getStorage('taxonomy_vocabulary')
->สร้าง ([
'vid' => 'คลาส',
'ชื่อ' => 'คลาส',
'description' => 'ประเภทผลิตภัณฑ์'
]);
$คำศัพท์->save();
รหัสคล้ายกันมากใน \Drupal\my_module\my_module.module. ความแตกต่างคือฉันตรวจสอบว่า $module เป็น my_module ก่อนหรือไม่
ใครมีเงื่อนงำเกี่ยวกับปัญหาคืออะไร?