Ich versuche, einen Seeder für meine Tabellenadressen zu erstellen, aber ein Feld meiner Tabelle ist ein Fremdschlüssel. Dieser Fk verweist auf eine Benutzer-ID meiner Tabellenbenutzer.Seeder mit Fremdschlüsselfeld erstellen Laravel 5.3
Meine Seeder Klasse:
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,
]);
}
}
}
Wenn ich die db laufen: Samen, i receave den Fehler:
[Error] Argument 1 bestanden Faker \ Provider \ Base :: randomElements() sein vom Typ Array muss, Objekt gegeben, in C genannt: \ xampp \ htdocs \ projeto \ Anbieter \ fzaninotto \ gefälschte r \ src \ Faker \ Provider \ base.php auf der Leitung 205 und
definiert
Danke Rohan, aber auf diese Weise ist Arbeit auch -> $ users = Benutzer :: zupfen ('id') -> all(); –
danke für die Aktualisierung, ich hatte Erfahrung mit 'list()' (veraltet) –