🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ mohammad
اجرای یک seeder از بین چند seeder
جامعه لاراول ایجاد شده در ۲۳ دی ۱۴۰۰

درود

درصورتی که بخوام فقط یک seeder رو فرا بخونم و از بقیه seeder‌ها موردی ساخته نشه دقیقا باید چکار کنم؟

مثلا من 3 تا seeder دارم: videoseeder - blogseeder - userseeder

الان میخوام فقط 5تا video فیک بسازم و نمیخوام تغییری در کاربران فیک دیتابیس ایجاد بشه

توی factory مربوط به videos دستور زیر رو بنویس

public function definition()
{
    return [
        'name' => $this->faker->name(),
        'url' =>'https://aspb2.cdn.asset.aparat.com/',
        'length' => $this->faker->randomNumber(3),
        'slug' => $this->faker->slug(),
        'description' => $this->faker->realText(),
        'thumbnail' => 'https://picsum.photos/446/240?random='.rand(1,99)
    ];
}

و بعد seeder مخصوص بهش رو بساز

php artisan make:seed VideoSeeder

حالا توی متد run از VideoSeeder دستور زیر رو بنویس

Video::factory()->count(5)->create();

و در آخر توی متد run از databaseSeeder اونو فراخونی میکنیم

$this->call(VideoSeeder::class);

با اجرای دستور زیر دیتای فیک وارد جدول میشه

php artisan db:seed
Ali Yz ۲۳ دی ۱۴۰۰، ۱۳:۰۲