0

I need to set values for default address fields(langcode, country_code, administrative_area, address_locality ect.) when I create a node. I used below code in the submitForm function of a Form class which is extends by Drupal\Core\Form\FormBase class. But it not works for me.

$venueNode = Node::create([
    'type'          => 'venue',
    'title'         => 'Venue',
    'field_address' => [
        'country_code'        => 'US',
        'address_line1'       => '1098 Alta Ave',
        'locality'            => 'Mountain View',
        'administrative_area' => 'US-CA',
        'postal_code'         => '94043',
    ],
]);

$venueNode->save();
Hemantha Dhanushka
  • 153
  • 1
  • 5
  • 14

1 Answers1

0

I made a mistake here. There should be a 0 index for field_address. Therefore the code should be like below.

$venueNode = Node::create([
    'type'          => 'venue',
    'title'         => 'Venue',
    'field_address' => [
        0 => [
            'country_code'        => 'US',
            'address_line1'       => '1098 Alta Ave',
            'locality'            => 'Mountain View',
            'administrative_area' => 'US-CA',
            'postal_code'         => '94043',
        ],
    ],
]);

$venueNode->save();
Hemantha Dhanushka
  • 153
  • 1
  • 5
  • 14