laravel seed multiple records code example

Example 1: laravel updateorcreate multiple records

// If there's a flight from Oakland to San Diego, set the price to $99.
// If no matching model exists, create one.
$flight = App\Flight::updateOrCreate(
    ['departure' => 'Oakland', 'destination' => 'San Diego'],
    ['price' => 99]
);

Example 2: laravel seed multiple records with factory

$ php artisan make:seeder ProductTableSeeder
  //Creates a ProductTableSeeder file on Database/seeders
  $php artisan make:Factory ProductFactory
  //Creates a ProductTableSeeder file on Database/seeders
  $php artisan make:model Product
    
  //Go to database/Factories/ProductFactory and paste:
 <?php

use Faker\Generator as Faker;

$factory->define(\App\Product::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
	    'price' => $faker->randomFloat(2, 0, 8),
	    'description' => $faker->text
    ];
});

//Go to database/seeders/ProductTableSeeder and paste:
<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;

class ProductTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //It creates 10 random insertions on the product table.
        
        \App\Models\Product::factory(10)->create();
    }
}
//Go to database/seeders/DatabaseSeeder and paste:

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        
        $this->call(ProductTableSeeder::class);

    }
}
//Finally run:
$php artisan db:seed
$php artisan tinker
  //Check the data inserted on the model product.
>>>App\Models\Product::all()
  //Alternativelly you can also run:
>>> DB::table('products')->get();

Tags:

Php Example