2017-02-19 7 views
0

내 테이블 주소에 대한 시드자를 만들려고하는데 내 테이블의 한 필드는 외래 키입니다.이 Fk는 내 테이블 사용자의 사용자 ID를 참조합니다. 외래 키 필드가있는 시드 작성 Laravel 5.3

내 파종기 클래스 : 내가 DB를 실행하면

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] 위조자 \ 제공자 \ 자료 : randomElements에 전달 인수 1() C에서 호출 된 유형의 배열, 주어진 객체이어야합니다 : \ XAMPP \ htdocs를 \ projeto \ 업체 \의 fzaninotto \ 가짜 연구 \ SRC \ 위조자 \ 제공자 그것은

답변

0

있어 \ Base.php는 라인 (205)에 정의 된 pluck()을하기 때문에 objec을 반환합니다. t를 사용하려면 toArray()을 사용하여 구문 분석하십시오.

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

감사합니다. Rohan,하지만이 방법으로도 작동합니다. -> $ users = User :: pluck ('id') -> all(); –

+0

업데이트 해 주셔서 감사합니다.'list()'(사용되지 않음) –