pooria83
3 سال پیش توسط pooria83 مطرح شد
0 پاسخ

راهنمایی در مورد faker

سلام
وقت به خیر
من میخوام با database seeder تعدادی کاربر بسازم که هر کدومشون x تا course دارن و هر course هم y تا episode داره.
یه فیلد number توی مدل episode دارم که مشخص میکنه این رکورد قسمت چندم از course هستش.
میخوام فیلد number یه عدد بین 1 تا y باشه و غیر تکراری برای همون course.

 protected $model = Course::class;

    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            'title' => $this->faker->sentence(),
            'body' => $this->faker->paragraph(5),
            'price' => $this->faker->numberBetween($min = 1000, $max = 9000),
            'image' => $this->faker->imageUrl()
        ];
    }
 protected $model = Episode::class;

    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            'title' => $this->faker->sentence(),
            'body' => $this->faker->paragraph(5),
            'number' => $this->faker->numberBetween(1 , 5) ,
            'video_url' => 'http://techslides.com/demos/sample-videos/small.mp4',
            'view_count' => $this->faker->numberBetween(0 , 1000),
            'comment_count' => $this->faker->numberBetween(0 , 1000),
        ];
    }
 $user = User::factory()
        ->has(
            Course::factory()
            ->has(
                Episode::factory()
                ->count(5)
                ->state(function (array $attributes, Course $course) {
                    return ['course_id' => $course->id];
                })
            )
                    ->count(3)
                    ->state(function (array $attributes, User $user) {
                        return ['user_id' => $user->id];
                    })
        )
        ->count(5)
        ->create();

میشه بفرمایید رو فیلد number موقع استفاده از faker چه تغییری باید بدم؟


ثبت پرسش جدید

به همدیگه کمک کنیم

به pooria83 کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام