D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
forge
/
developers.ghanempharmacy.com
/
database
/
seeders
/
Filename :
ProductSeeder.php
back
Copy
<?php namespace Database\Seeders; use DB; use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; use App\Models\Product; use Illuminate\Support\Str; use Faker\Factory as Faker; class ProductSeeder extends Seeder { /** * Run the database seeds. */ public function run(): void { \Illuminate\Support\Facades\Schema::disableForeignKeyConstraints(); DB::table('products')->truncate(); DB::table('translations')->truncate(); \Illuminate\Support\Facades\Schema::enableForeignKeyConstraints(); $fakerEn = Faker::create('en_US'); $fakerAr = Faker::create('ar_SA'); $products = []; for ($i = 0; $i < 100; $i++) { $nameEn = $fakerEn->words(3, true); $nameAr = $fakerAr->words(3, true); $detailsEn = $fakerEn->paragraph(); $detailsAr = $fakerAr->paragraph(); $product = Product::create([ 'added_by' => 'admin', 'name' => $nameEn, 'slug' => Str::slug($nameEn) . '-' . Str::random(5), 'product_type' => 'physical', 'category_id' => 1, 'category_ids' => json_encode([['id' => '1', 'position' => 1]]), 'brand_id' => 1, 'unit' => 'pc', 'min_qty' => 1, 'refundable' => 1, 'images' => json_encode([]), 'thumbnail' => 'def.png', 'colors' => json_encode([]), 'attributes' => json_encode([]), 'choice_options' => json_encode([]), 'variation' => json_encode([]), 'published' => 1, 'unit_price' => $fakerEn->randomFloat(2, 10, 500), 'purchase_price' => $fakerEn->randomFloat(2, 5, 200), 'tax' => 0, 'tax_type' => 'percent', 'tax_model' => 'include', 'discount' => 0, 'discount_type' => 'flat', 'current_stock' => $fakerEn->numberBetween(10, 100), 'minimum_order_qty' => 1, 'details' => $detailsEn, 'free_shipping' => 1, 'status' => 1, 'featured_status' => 1, 'request_status' => 1, 'shipping_cost' => 0, 'multiply_qty' => 0, 'code' => $fakerEn->unique()->ean13(), ]); $translations = [ [ 'translationable_type' => 'App\Models\Product', 'translationable_id' => $product->id, 'locale' => 'en', 'key' => 'name', 'value' => $nameEn, ], [ 'translationable_type' => 'App\Models\Product', 'translationable_id' => $product->id, 'locale' => 'ar', 'key' => 'name', 'value' => $nameAr, ], [ 'translationable_type' => 'App\Models\Product', 'translationable_id' => $product->id, 'locale' => 'en', 'key' => 'description', 'value' => $detailsEn, ], [ 'translationable_type' => 'App\Models\Product', 'translationable_id' => $product->id, 'locale' => 'ar', 'key' => 'description', 'value' => $detailsAr, ] ]; \App\Models\Translation::insert($translations); } } }