public function haveTermInDatabase($name, $taxonomy, array $overrides = [])
{
$termDefaults = ['slug' => (new Slugifier())->slugify($name), 'term_group' => 0];
$hasMeta = !empty($overrides['meta']);
$meta = [];
if ($hasMeta) {
$meta = $overrides['meta'];
unset($overrides['meta']);
}
$termData = array_merge($termDefaults, array_intersect_key($overrides, $termDefaults));
$termData['name'] = $name;
$term_id = $this->haveInDatabase($this->grabTermsTableName(), $termData);
$termTaxonomyDefaults = ['description' => '', 'parent' => 0, 'count' => 0];
$termTaxonomyData = array_merge($termTaxonomyDefaults, array_intersect_key($overrides, $termTaxonomyDefaults));
$termTaxonomyData['taxonomy'] = $taxonomy;
$termTaxonomyData['term_id'] = $term_id;
$term_taxonomy_id = $this->haveInDatabase($this->grabTermTaxonomyTableName(), $termTaxonomyData);
if ($hasMeta) {
foreach ($meta as $key => $value) {
$this->haveTermMetaInDatabase($term_id, $key, $value);
}
}
return [$term_id, $term_taxonomy_id];
}