How can I seed multiple rows using ModelFactory in Laravel?
Inside ModelFactory.php I have the following code:
$factory->define(App\User::class, function (Faker $faker) {
    static $password;
    return [
        'name' => 'Admin',
        'Description' => 'Administrators have full access to everything.'
    ];
});
How can I add the following arrays, without using raw expressions?
[
    'name' => 'Admin',
    'description' => 'Administrators have full access to everything.',
],
[
    'name' => 'User',
    'description' => 'User have normal access.',
],
Thanks
You can use sequence()
User::factory()->count(2)->sequence(['name' => 'admin'],['name' => 'user'])
->create()
example from laravel documentation
$users = User::factory()
            ->count(10)
            ->sequence(fn ($sequence) => ['name' => 'Name '.$sequence->index])
            ->create();
source https://laravel.com/docs/8.x/database-testing#sequences
Let's say you want to add 100 users in your database.
Create a UserFactory.php in database/factories:
<?php
use Faker\Generator as Faker;
$factory->define(App\User::class, function (Faker $faker) {
    return [
        'name' => 'Admin',
        'Description' => 'Administrators have full access to everything.'
    ];
});
Then, in database/seeds/DatabaseSeeder.php:
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        factory(App\User::class, 100)->create();
    }
}
You can find more details about seeding in the Laravel official documentation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With