使用外键字段创建播种机 Laravel 5.3

Creating Seeder with foreign key field Laravel 5.3

我正在尝试为我的 table 地址创建播种机,但我的 table 的一个字段是外键,这个 Fk 引用了我的 table 的用户 ID用户。

我的播种机Class:

class AddressesSeeder extends Seeder
{

   public function run()
    {
        $faker = Faker::create();
        // following line retrieve all the user_ids from DB
        $users = User::all()->pluck('id');
        foreach(range(1,50) as $index){
            $address = Address::create([
                'user_id' => $faker->randomElement($users), 
                'street' => $faker->street,
                'number' => $faker->number,
                'city' => $faker->city,
                'state' => $faker->state,
                'created_at' => $faker->datetime,
                'updated_at' => $faker->datetime,
            ]);
        }
    }
}

当我 运行 和 db:seed 时,我收到错误:

[错误异常] 传递给 Faker\Provider\Base::randomElements() 的参数 1 必须是数组类型,对象给定,在 C:\xampp\htdocs\projeto\vendor\fzaninotto\fake 中调用 r\src\Faker\Provider\Base.php 在第 205 行并定义了

因为pluck()会return一个对象,用toArray()解析出来

$users = User::all()->pluck('id')->toArray();