Сделал так, как будто по документации, но все равно дублирует записи в БД(
$state = State::firstOrCreate([
'name' => $item['state_name'],
'code' => $item['state_id'],
],
[
'name' => $item['state_name'],
'code' => $item['state_id'],
]);
$county = $state->counties()->firstOrCreate([
'fips' => (int) $item['county_fips'],
'name' => $item['county_name']
],
[
'fips' => (int) $item['county_fips'],
'name' => $item['county_name'],
'weights' => $item['county_weights'],
'names_all' => $item['county_names_all'],
'fips_all' => $item['county_fips_all'],
]);