Tôi gặp một số khó khăn khi thiết lập phân loại cho một nút. Hiện tại tôi đang sử dụng mã này.
$node = Node::create(array(
'type' => 'detailseite',
'title' => $data[$headlineIndex],
'langcode' => 'de',
'uid' => '1',
'status' => 1,
'field_headline' => $data[$headlineIndex],
'field_intro' => $data[$introIndex] . $categories[$data[$categoryIndex]],
'created' => $data[$dateIndex],
'field_autor' => $data[$autorIndex],
'field_teaser_text' => $data[$shortIndex],
'field_fields' => array(),
));
$node->save();
Mà hoạt động tốt cho đến nay (dưới một hình ảnh của các lĩnh vực "chi tiết").
Mọi thứ được đặt chính xác và tôi có thể tìm thấy các nút mới được tạo trong khu vực quản trị hoạt động chính xác. Bây giờ tôi cần đặt 'field_meldungstyp' là một Tham chiếu thực thể cho phân loại:
trong đó đã có ba mục:
Tôi muốn nhận (các) nút mà tôi đã tạo lập trình để đặt "field_meldungstyp" thành "Artikel" của "Meldungstyp" -Vocellect.
Tôi đã thử thêm:
'field_meldungstyp' => array( 'tid' => 19 ),
trong đó 19 là câu chuyện "Artikel" của từ vựng đã đề cập trước đó. Và đó là nơi tôi bị mắc kẹt. Ngoài ra https: //www.drupal.org/node/2402811 không hoạt động với tôi. Cũng như
$node->field_meldungstyp[$node->language][]['tid'] = 19;
cũng không làm việc.
chỉ cần thêm
$node = Node::create(array(
...
'field_meldungstyp' => 19,
...
));
dẫn đến sự cố với lỗi sau:
Drupal \ Core \ Entity \ EntityStorageException: SQLSTATE [HY000]: Lỗi chung: 1366 Giá trị nguyên không chính xác: 'datetime' cho cột 'được tạo' ở hàng 1: INSERT INTO {taxonomy_index} (nid, tid, status, stick) (: db_insert_placeholder_0 ,: db_insert_placeholder_1 ,: db_insert_placeholder_2 ,: db_insert_placeholder_3 ,: db_insert_placeholder_4); Mảng ([: db_insert_placeholder_0] => 343 [: db_insert_placeholder_1] => 19 [: db_insert_placeholder_1] => 19 [: db_insert_placeholder_2] => 1 [: db_insert_placeholder_2] => 1 [: db_insert_placeholder_3] => 0 [: db_insert_placeholder_3] => 0 [: db_insert_placeholder_3] = save () (dòng 770 của core / lib / Drupal / Core / Entity / Sql / SqlContentEntityStorage.php). Drupal \ Core \ Database \ Statement-> exec (Array, Array) (Line: 610) Truy vấn Drupal \ Core \ Database \ Connection-> ('INSERT INTO {taxonomy_index} (nid, tid,
12345
để19
phù hợp;))Drupal\Core\Entity\EntityStorageException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: 'datetime' for column 'created' at row 1: INSERT INTO {taxonomy_index} (nid, tid, status, sticky, created) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4); Array ( [:db_insert_placeholder_0] => 188 [:db_insert_placeholder_1] => 19 [:db_insert_placeholder_2] => ... in Drupal\Core\Entity\Sql\SqlContentEntityStorage->save()