Так можно загрузить массив с скриншота.
$data = [
'фирма 1' => [
'модель 1.1',
'модель 1.2',
],
'фирма 2' => [
'модель 2.1',
'модель 2.2',
],
];
foreach ($data as $firm_name => $models) {
$firm = new Firm();
$firm->name = $firm_name;
$firm->save();
$firm->models()->saveMany(array_map(function(string $model_name) {
$model = new Model();
$model->name = $model_name;
return $model;
}, $models));
}
Желательно делать все это одной транзакцией чтоб не было битых данных. Если данных очень много то следует загружать их частями.
По схеме БД: я бы посоветовал устройство связывать с моделью, а не с фирмой . потому что у тебя может быть intel процессор и intel видеокарта, но не может быть видеокарты Core i9...