Appearance
Seeders
Seeders are generated for each module depending on the module specification.
php
<?php
namespace Database\Seeders;
use App\Models\Order;
use Illuminate\Database\Seeder;
class OrderSeeder extends Seeder
{
public function run(): void
{
$entities = Order::factory()
->count(50)
->create();
foreach ($entities as $entity) {
$entity->products()->attach($this->getRandomIdArray());
}
}
private function getRandomIdArray()
{
$ids = range(1, 50);
shuffle($ids);
return array_slice($ids, 0, rand(1, 8));
}
}
The seeders create 50 entities.
If the entities have any relations, the relations are also randomly assigned.
The seeders are added to the main DatabaseSeeder
file.
php
<?php
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(): void
{
if (User::count() > 0) {
return;
}
$this->call([UserSeeder::class, ProfileSeeder::class, AddressSeeder::class]);
}
}