2017-02-19 78 views
0

我想創建我的表地址的播種機,但我的表的一個字段,是一個外鍵,這個Fk引用我的表用戶的用戶ID。創建與外鍵字段Laravel 5.3

我的播種機類別:

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, 
      ]); 
     } 
    } 
} 

當運行分貝:種子,我receave錯誤:

[ErrorException] 參數1傳遞給法克爾\提供商\基地:: randomElements()必須是類型的陣列,給定的對象,稱爲在C:\ XAMPP \ htdocs中\ projeto \廠商\ fzaninotto \假 r \ SRC \法克爾\提供商\ Base.php上線205和定義

回答

0

這是因爲pluck()將返回一個對象t,用toArray()解析它。

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

感謝Rohan,但是這樣,工作也是 - > $ users = User :: pluck('id') - > all(); –

+0

感謝您的更新,我有'list()'經驗(不推薦) –