firstOrNew([ 'slug' => 'domain', ]); $domainCategory->fill([ 'name' => 'Domain', 'parent_id' => null, 'is_active' => true, 'sort_order' => 6, 'type' => 'domain', ]); $domainCategory->save(); if ($domainCategory->trashed()) { $domainCategory->restore(); } $products = [ [ 'name' => 'Ten mien .vn', 'slug' => 'domain-vn', 'extension' => '.vn', 'price' => 650000, 'price_sale' => 600000, 'sort_order' => 1, ], [ 'name' => 'Ten mien .com', 'slug' => 'domain-com', 'extension' => '.com', 'price' => 350000, 'price_sale' => 320000, 'sort_order' => 2, ], [ 'name' => 'Ten mien .com.vn', 'slug' => 'domain-com-vn', 'extension' => '.com.vn', 'price' => 550000, 'price_sale' => 500000, 'sort_order' => 3, ], [ 'name' => 'Ten mien .net', 'slug' => 'domain-net', 'extension' => '.net', 'price' => 400000, 'price_sale' => 360000, 'sort_order' => 4, ], [ 'name' => 'Ten mien .io.vn', 'slug' => 'domain-io-vn', 'extension' => '.io.vn', 'price' => 120000, 'price_sale' => 100000, 'sort_order' => 5, ], ]; foreach ($products as $productData) { $product = Product::withTrashed()->firstOrNew([ 'slug' => $productData['slug'], ]); $product->fill([ 'name' => $productData['name'], 'short_description' => "Dang ky ten mien {$productData['extension']}", 'description' => "

Dang ky va gia han ten mien {$productData['extension']} hang nam.

", 'thumbnail' => '/images/domain/domain.png', 'stock' => null, 'is_unlimited' => true, 'is_active' => true, 'sort_order' => $productData['sort_order'], 'product_categories_id' => $domainCategory->id, 'published_at' => now(), ]); $product->save(); if ($product->trashed()) { $product->restore(); } ProductPricings::updateOrCreate( [ 'product_id' => $product->id, 'billing_cycle' => 'annually', ], [ 'price' => $productData['price'], 'price_sale' => $productData['price_sale'], 'currency' => 'VND', 'is_active' => true, ] ); $this->command?->info("Seeded domain product: {$product->name}"); } $this->command?->info('Domain products seeding completed.'); } }