💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ Mehrjoo
خطا هنگام اجرای سیدر
Mehrjoo حل شده توسط Mehrjoo

سلام یه سیدر به اسم یوزر درست کردم با محتویات :

public function run(): void
    {
        User::create([
            // Admin
            [
                'name' => 'Admin',
                'username' => 'admin',
                'email' => 'admin@gmail.com',
                'password' => Hash::make('111'),
                'role' => 'admin',
                'status' => 'active',
            ]
            // User Or Customer
            [
                'name' => 'User',
                'username' => 'user',
                'email' => 'user@gmail.com',
                'password' => Hash::make('111'),
                'role' => 'user',
                'status' => 'active',
            ],
        ]);
    }

یه فکتوری هم برای یوزر هست :

 return [
            'name' => fake()->name(),
            'email' => fake()->unique()->safeEmail(),
            'email_verified_at' => now(),
            'password' => static::$password ??= Hash::make('password'),
            // 'phone' => fake()->phoneNumber,
            'photo' => fake()->imageUrl('60','60'),
            // 'address' => fake()->address,
            'role' => fake()->randomElement(['admin','vendor','user']),
            'status' => fake()->randomElement(['active','inactive']),
            'remember_token' => Str::random(10),
        ];

و در فایل سیدر اصلی که خود لارول داره :

public function run(): void
    {
        $this->call(UsersSeeder::class);
        User::factory(8)->create();
    }

موقع اجرای دستور زیر خطای دارم

php artisan migrate:fresh --seed

خطا :

 Illuminate\Database\Grammar::parameterize(): Argument #1 ($values) must be of type array, string given, called in C:\xampp\htdocs\hami-shoping\vendor\laravel\framework\src\Illuminate\Database\Query\Grammars\Grammar.php on line 1180

سلام،

بین دو آرایه Admin و User Or Customer علامت کاما , بگذارید.

محسن موحد ۰۳ مهر ۱۴۰۳، ۲۳:۰۴

سلام به خاطر اون کاما نیست . حواسم نبوده موقع کامنت گذاشتن کاما رو پاک کردم که بدونید خط برای چیه

یچیزی متوجه شدم که مستقیم نمی‌تونم توی مدل یوزر بیام آرایه وارد کنم . باید آرایه رو توی متغیر بزارم بعد با حلقه فورایچ بیام آرایه رو به مدلم اضافه کنم . 

بهترین پاسخ
Mehrjoo ۰۴ مهر ۱۴۰۳، ۱۲:۰۴