Here, i have come with some code to create laravel seeders and factories. For inserting data in our database for testing purpose.
Create Model Admin
php artisan make:model Admin -m
Now, open the admin migration file in database directory and table columns.
<?php use IlluminateDatabaseMigrationsMigration; use IlluminateDatabaseSchemaBlueprint; use IlluminateSupportFacadesSchema; class CreateAdminsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create( 'admins', function (Blueprint $table) { $table->increments( 'id' ); $table->string( 'name' ); $table->string( 'surname' ); $table->string( 'email' ); $table->string( 'password' ); $table->timestamps(); } ); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists( 'admins' ); } }
To create table run
php artisan migrate
Create Factory in Laravel to create random number of records for testing. We will create factory AdminFactory.
php artisan make:factory AdminFactory
Inside the definition method set your database table columns.
<?php namespace DatabaseFactories; use AppModelsAdmin; use IlluminateDatabaseEloquentFactoriesFactory; use IlluminateSupportStr; class AdminFactory extends Factory { /** * The name of the factory's corresponding model. * * @var string */ protected $model = Admin::class; /** * Define the model's default state. * * @return array */ public function definition() { return [ 'name' => $this->faker->name, 'surname' => $this->faker->name, 'email' => $this->faker->unique()->safeEmail, 'password' => bcrypt('123456'), // password ]; } }
Now, create seeder to run factory or database queries.
php artisan make:seeder AdminSeeder
Inside run method apply factory on Admin model.
namespace DatabaseSeeders; use AppModelsAdmin; use IlluminateDatabaseSeeder; use IlluminateSupportStr; class AdminsSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { Admin::factory() ->count(50) ->create([ 'surname' => 'Kumar', ]); } }
Now run the seeder class
php artisan db:seed --class=AdminSeeder
This will create 50 random records in table admins
Please like share and give positive feedback to motivate me to write more.
For more tutorials visit my website.
Thanks:)
Happy Coding:)