Welcome Guest, Not a member yet? Register   Sign In
How To make Seeder in fake data ?
#1

(This post was last modified: 07-19-2020, 07:58 AM by jreklund.)

Hello everyone! I having a bad time trying to use Seeder Fake data

My SettingSeeder

PHP Code:
<?php namespace App\Database\Seeds;
use 
App\Models\SettingModel;
use 
CodeIgniter\Database\Seeder;
use 
CodeIgniter\Test\Fabricator;
use 
Faker\Factory;

class 
SettingSeeder extends Seeder
{    
    
public function run()
    {
        
$faker Factory::create();        
        $formatters 
= [
            
'settingname' => $faker->name,
            
'about_us'    => $faker->text,
            
'mission'     => $faker->text,
            
'vision'      => $faker->text,
        ];
        
        $fabricator 
= new Fabricator(SettingModel::class, $formatters);
        
$fabricator->create();
    }


Code:
php spark db:seed SettingSeeder

CodeIgniter CLI Tool - Version 4.0.4 - Server-Time: 2020-07-19 07:16:45am

Unknown formatter "Zackary"
C:\laragon\www\ci4\vendor\fzaninotto\faker\src\Faker\Generator.php - 248

what is wrong ?
Reply
#2

For seeding, I think IMO we do not actually need a Model, just use it like this sample:

PHP Code:
<?php namespace App\Database\Seeds;

use 
CodeIgniter\Database\Seeder;
use 
Faker\Factory;

class 
UsersSeeder extends Seeder {
    
    public function 
run() {
        
$faker Factory::create('id_ID');
        for (
$i=0$i 10$i++) {
            
$data = [
                
'username'     => $faker->userName,
                
'passwd'     => $faker->sha1,
                
'role'         => $faker->randomElement(['admin''staff''member']),
                
'status'     => $faker->randomElement(['active''pending''banned']),
                
'created_at'=> $faker->dateTimeBetween('-2 month''-1 days')->format('Y-m-d H:i:s'),
            ];
            
$this->db->table('users')->insert($data);
        }
    }
    

Reply




Theme © iAndrew 2016 - Forum software by © MyBB