New-Thanasoft/thanasoft-back/database/seeders/ProductCategorySeeder.php

102 lines
3.0 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Models\ProductCategory;
class ProductCategorySeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
// Create root categories
$electronique = ProductCategory::create([
'code' => 'ELECTRONIQUE',
'name' => 'Électronique',
'description' => 'Produits électroniques et technologiques',
'active' => true,
]);
$alimentaire = ProductCategory::create([
'code' => 'ALIMENTAIRE',
'name' => 'Alimentaire',
'description' => 'Produits alimentaires et boissons',
'active' => true,
]);
$medical = ProductCategory::create([
'code' => 'MEDICAL',
'name' => 'Médical',
'description' => 'Produits médicaux et pharmaceutiques',
'active' => true,
]);
// Create subcategories
ProductCategory::create([
'parent_id' => $electronique->id,
'code' => 'TELEPHONE',
'name' => 'Téléphones',
'description' => 'Smartphones et téléphones mobiles',
'active' => true,
]);
ProductCategory::create([
'parent_id' => $electronique->id,
'code' => 'ORDINATEUR',
'name' => 'Ordinateurs',
'description' => 'Ordinateurs portables et de bureau',
'active' => true,
]);
ProductCategory::create([
'parent_id' => $alimentaire->id,
'code' => 'FRUITS',
'name' => 'Fruits',
'description' => 'Fruits frais et transformés',
'active' => true,
]);
ProductCategory::create([
'parent_id' => $alimentaire->id,
'code' => 'LEGUMES',
'name' => 'Légumes',
'description' => 'Légumes frais et transformés',
'active' => true,
]);
ProductCategory::create([
'parent_id' => $medical->id,
'code' => 'MEDICAMENT',
'name' => 'Médicaments',
'description' => 'Médicaments et traitements',
'active' => true,
]);
ProductCategory::create([
'parent_id' => $medical->id,
'code' => 'MATERIEL',
'name' => 'Matériel Médical',
'description' => 'Équipements et instruments médicaux',
'active' => true,
]);
// Create some inactive categories for testing
ProductCategory::create([
'code' => 'COSMETIQUE',
'name' => 'Cosmétique',
'description' => 'Produits cosmétiques et de beauté',
'active' => false,
]);
ProductCategory::create([
'code' => 'MENAGE',
'name' => 'Ménage',
'description' => 'Produits d\'entretien et de nettoyage',
'active' => false,
]);
}
}