Tôi có một nút (ví dụ: "công ty") kinh doanh có trường tham chiếu đoạn văn (giả sử "ngành" kinh doanh có nhiều trường). Đoạn này có trong các trường của nó tham chiếu đến một đoạn khác (giả sử "nhân viên" có nhiều trường, một trong số này là tham chiếu đến thuật ngữ phân loại).
trong một hook_form_submit()
, với biểu mẫu $
và FormStateInterface $form_state
làm tham số, tôi cần liên kết theo chương trình nhiều đoạn nhân viên với một đoạn ngành.
...
$node = Nút::load($id);
$sector = Đoạn::load($node->get('field_sector')->target_id);
/**
* Danh sách các thuật ngữ phân loại được tải ở nơi khác.
* Tôi đã thêm phần tử tùy chỉnh vào phần chọn với nhân viên "_all"
* để liên kết theo chương trình tất cả nhân viên với $sector.
*
* Mảng @var $employees
*/
foreach ($employees as $employee) {
$paragraph = Đoạn::tạo([
'loại' => 'nhân viên',
]);
$paragraph->set('field_name', $employee->get('field_name')->value);
$paragraph->set('field_age', $employee->get('field_age')->value);
...
$paragraph->save();
$sector->set('field_employee', $paragraph); // ở đây tôi không biết cách thêm vào sector
$sector->save();
}
Tôi đã cố gắng liên kết từng $employee với $sector nhưng với $sector->set('field_employee', $paragraph);
cú pháp hoặc với $sector->appendItem($paragraph)
, hoạt động cho các nút, nó không hoạt động.
Có cách nào để lập trình thêm đoạn này vào đoạn khác không?
Trực quan hóa câu hỏi, trong hình bên dưới, khi tôi lưu thực thể với tùy chọn tùy chỉnh "Tất cả nhân viên" (_tất cả các
) được chọn, tôi muốn đính kèm tất cả 4 nhân viên trong đoạn văn được liên kết với đoạn "một khu vực được chọn" (xóa _tất cả các
).
Cảm ơn trước.
CHỈNH SỬA 1
Tôi đã thấy câu trả lời gợi ý Lập trình thêm nhiều đoạn vào trường tham chiếu thực thể trên nút nhưng nó giải quyết cách đính kèm Đoạn văn vào nút $
, không phải là một Đoạn đến một Đoạn của nút $
.
Tôi cũng đã thử cái này:
$employee->setParentEntity($sector, 'field_of_reference');
$employee->save();
nhưng vẫn không nối thêm nhân viên $
đến ngành $
.
CHỈNH SỬA 2
Tôi đã cố gắng làm theo các bài đăng được đề xuất nhưng tôi không thể tìm ra cách điều chỉnh mã đó bên trong một hook_form_submit()
.
Dù sao cũng cảm ơn tất cả, tôi nghĩ đó là một cấu trúc tồi trên mã của tôi.