代码之家  ›  专栏  ›  技术社区  ›  robspin

{closure}()必须是laravel工厂种子上的faker\generator\generator的实例

  •  1
  • robspin  · 技术社区  · 7 年前

    当我使用 PHP Artisan数据库:种子 我弄错了? 在 userfactory.php第27行:

    Type error: Argument 1 passed to
    Illuminate\Database\Eloquent\Factory::{closure}() must be an instance
    of Faker\Generator\Generator, instance of Faker\Generator given
    

    Userfactory.php 使用faker \生成器作为faker;

    (这是27号线)

    $factory->define(App\Models\Admin::class, function (Faker\Generator $faker) {
        static $password;
    
            return [
                'name' => $faker->name,
                'email' => $faker->safeEmail,
                'password' => $password ?: $password = bcrypt('secret'),
                'remember_token' => str_random(10),
            ];
        });
    

    administableeder.php

    public function run()
    {
        factory('App\Models\Admin',3)->create([
            'password' => bcrypt('123456')
            ]);
    }
    

    数据库种子器.php

    public function run()
    {
        // $this->call(UsersTableSeeder::class);
        $this->call(AdminsTableSeeder::class);
    }
    

    1 回复  |  直到 7 年前
        1
  •  4
  •   robspin    7 年前

    我解决了它 使用faker \生成器作为faker;

    (这是27号线) $factory->定义(app\models\admin::class,函数(faker$faker) …

    因为我用XXX作为XXX,所以我不能用所有的路线去造假。