Я пытаюсь создать сеялку для своих табличных адресов, но одно поле моей таблицы, является внешним ключом. Этот Fk ссылается на идентификатор пользователя моих пользователей таблицы.Создание Seeder с полем внешнего ключа 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 передается Факер \ Provider \ Base :: randomElements() должен быть массив типа, объект данного, называется в C: \ XAMPP \ HTDOCS \ Projeto \ поставщика \ fzaninotto \ поддельной г \ SRC \ Факер \ Provider \ Base.php на линии 205 и определено
Спасибо Rohan, но этот способ тоже работает -> $ users = User :: pluck ('id') -> all(); –
спасибо за обновление, у меня был опыт работы с 'list()' (устарело) –