我想做 php artisan db:seed,然后我得到了这个错误“ErrorException array_merge(): Expectedparameter 2 to be an array, int给定”

问题描述 投票:0回答:1

我想使用 Youtube 上的源视频制作 API 身份验证 Laravel Passport - 忘记并重置密码:https://www.youtube.com/watch?v=F9Xmc3iHc88&t=6s

我的源 Youtube 使用 Laravel 6x,我使用 Laravel 8x

当我在分钟视频 8:17 中执行“播种和工厂数据库”步骤时,我得到了

ErrorException array_merge():期望参数 2 是一个数组,给定 int

This is my error cmd

这是我的 UserFactory.php :

<?php 
namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;
use App\Models\User;

class UserFactory extends Factory
{
 /**
 * The name of the factory's corresponding model.
 *
 * @var string
 */
 protected $model = User::class;

 /**
 * Define the model's default state.
 *
 * @return array
 */
 public function definition()
 {
    return [
        'first_name' => $this->faker->firstName,
        'last_name' => $this->faker->lastName,
        'email' => $this->faker->unique()->safeEmail,
        'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
    ];
}

}

这是我的 UsersTableSeeder.php :

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use App\Models\User;

class UsersTableSeeder extends Seeder
{
 /**
 * Run the database seeds.
 *
 * @return void
 */
 public function run()
 {
    User::factory(App\Models\User::class, 10)->create();
 }
}

和我的 DatabaseSeeder.php :

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder

{
 /**
 * Seed the application's database.
 *
 * @return void
 */
 public function run()
 {
    $this->call(UsersTableSeeder::class);
 }
}

有人可以帮我解释为什么我收到这个错误合并数组吗?

php laravel-8 seeding
1个回答
2
投票

案件已结,伙计们,在 Laravel 8x 中你不需要输入“

User::factory(App\Models\User::class, 10)->create();

只需输入:

User::factory(10)->create();

因为你已经在第一个词中称其为“用户”..

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.