Загрузить данные в тип абзаца - D8 - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть тип контента - PSD_availability: имеет следующие поля:

  1. Program_ID

2. Ссылка на объект типа PSD_type1

Тип абзаца PSD_type1 имеет следующие поля:

  1. Program_ID

  2. Age_group

  3. Уровень образования

На бэкенде у меня есть все эти данные в таблице PSD_data. Я хотел бы импортировать все эти данные таблицы в абзац PSD_typ1 и тип контента PSD_availability. Есть ли простой способ сделать это? Мне известен модуль абзаца каналов, но он пока недоступен для D8.

Что я пробовал: (я знаю, что это неправильно ... любая помощь, чтобы это исправить ???)

public function psdloadData() 
{
    $tx = \Drupal::database()->startTransaction();

    try 
    {
        // Create single new paragraph
        $paragraph = Paragraph::create([
            'type' => 'psd_type1',
            'field_psd_programid'=> '196',
            'field_psd_availability'=> 'Contact Program',
            'field_pad_availability_agegroup'=> 'age_group',
            'field_psd_availability_education'=> 'education',
            'field_psd_availability_rate'=> 'rate',
            'field_psd_bottom_text'=> 'additional_details',
        ]);
        $paragraph->save();

        // Save paragraph to node it belongs to
        $node = Node::create([
          'type' => 'psd_availability',
          'title' => 'Availability',
          // Insert a single paragraph
          'node_field_paragraph_machine_name' => array(
            'target_id' => $paragraph->id(),
            'target_revision_id' => $paragraph->getRevisionId(),
          ),
        ]);
        $node->enforceIsNew();
        $node->save();
    }
    catch (Exception $e) 
    {
        $tx->rollBack();
        // log/report failure
    }
}

}

PS: я отредактировал код, который я пробовал. Этот код создал новый тип абзаца. но не заполняет мои данные. Любая помощь?

...