Chris@4: insert('config') Chris@4: ->fields(['collection', 'name', 'data']) Chris@4: ->values([ Chris@4: 'collection' => '', Chris@4: 'name' => "views.view.test_taxonomy_parent", Chris@4: 'data' => serialize($view_config), Chris@4: ]) Chris@4: ->execute(); Chris@4: Chris@4: $uuid = new Php(); Chris@4: Chris@4: // The root tid. Chris@4: $tids = [0]; Chris@4: Chris@4: for ($i = 0; $i < 4; $i++) { Chris@4: $name = $this->randomString(); Chris@4: Chris@4: $tid = $connection->insert('taxonomy_term_data') Chris@4: ->fields(['vid', 'uuid', 'langcode']) Chris@4: ->values(['vid' => 'tags', 'uuid' => $uuid->generate(), 'langcode' => 'en']) Chris@4: ->execute(); Chris@4: Chris@4: $connection->insert('taxonomy_term_field_data') Chris@4: ->fields(['tid', 'vid', 'langcode', 'name', 'weight', 'changed', 'default_langcode']) Chris@4: ->values(['tid' => $tid, 'vid' => 'tags', 'langcode' => 'en', 'name' => $name, 'weight' => 0, 'changed' => REQUEST_TIME, 'default_langcode' => 1]) Chris@4: ->execute(); Chris@4: Chris@4: $tids[] = $tid; Chris@4: } Chris@4: Chris@4: $hierarchy = [ Chris@4: // Term with tid 1 has terms with tids 2 and 3 as parents. Chris@4: 1 => [2, 3], Chris@4: 2 => [3, 0], Chris@4: 3 => [0], Chris@4: ]; Chris@4: Chris@4: $query = $connection->insert('taxonomy_term_hierarchy')->fields(['tid', 'parent']); Chris@4: Chris@4: foreach ($hierarchy as $tid => $parents) { Chris@4: foreach ($parents as $parent) { Chris@4: $query->values(['tid' => $tids[$tid], 'parent' => $tids[$parent]]); Chris@4: } Chris@4: } Chris@4: Chris@4: // Insert an extra record with no corresponding term. Chris@4: // See https://www.drupal.org/project/drupal/issues/2997982 Chris@4: $query->values(['tid' => max($tids) + 1, 'parent' => 0]); Chris@4: Chris@4: $query->execute();