Как правильно создать сидер когда имеешь связь с родителем (laravel 8)?

Чтобы правильно создать сидер с связью с родительской моделью в Laravel 8, вам потребуется выполнить несколько шагов.

  1. Создайте новый сидер с помощью команды php artisan make:seeder, где <SeederName> - это имя вашего сидера:
php artisan make:seeder <SeederName>
  1. Откройте только что созданный сидер и пропишите его в методе run().

Пример:

use IlluminateDatabaseSeeder;
use AppModelsParentModel;

class SeederName extends Seeder
{
    public function run()
    {
        // ваш код создания записей и установки связей
    }
}
  1. Получите список всех существующих родительских моделей. Например, если у вас есть модель "ParentModel", вы можете получить все записи с помощью следующего кода:
$parents = ParentModel::all();
  1. Добавьте цикл foreach, чтобы перебрать все родительские модели и создать связанныи записи.

Пример:

foreach ($parents as $parent) {
    // Создание дочерней модели и связь с родительской моделью
    $parent->childModel()->create([
        'name' => 'Child Model Name',
        'other_field' => 'Other Field Value',
    ]);
}
  1. Сохраните и запустите сидер с помощью команды php artisan db:seed --class=SeederName, где SeederName - имя вашего сидера:
php artisan db:seed --class=SeederName

Теперь у вас должен быть работающий сидер с связью с родительской моделью в Laravel 8. Проверьте базу данных, чтобы убедиться, что записи были созданы корректно.