在Laravel 5.0中使用Faker会返回“未找到类用户”

时间:2015-06-03 22:38:28

标签: php laravel faker

我正在尝试将测试数据放入Laravel项目的数据库中。我按照Laracasts和一些网站的说明进行操作。当我尝试运行我的Seeder课程时,我发现“Class'User'未找到” 这是我的班级:

 use Illuminate\Database\Seeder;

 class UsersTableSeeder extends Seeder {

   public function run()
   {
    $faker = Faker\Factory::create();

    for ($i = 0; $i < 50; $i++)
    {
        $user = User::create(array(
            'name' => $faker->userName,
            'email' => $faker->email,
            'password' => $faker->word,
            'verified' => $faker-numberBetween($min = 0, $max = 1)
        ));
    }
    }
}

有没有人知道我需要做什么?

3 个答案:

答案 0 :(得分:0)

我认为这个问题是由于类映射问题造成的。从命令行运行以下命令

php artisan dump-autoload

如果这不起作用,那么您可以为模型使用命名空间。为此,只需在用户模态中定义命名空间

namespace Models;

使用此类只需在代码中添加以下行

use Illuminate\Database\Seeder;
use Models\User;

class UsersTableSeeder extends Seeder {

public function run()
{
 $faker = Faker\Factory::create();

 for ($i = 0; $i < 50; $i++)
 {
     $user = User::create(array(
        'name' => $faker->userName,
        'email' => $faker->email,
        'password' => $faker->word,
        'verified' => $faker-numberBetween($min = 0, $max = 1)
    ));
 }
}

}

答案 1 :(得分:0)

Laravel 5默认使用App名称空间命名模型。 因此,您必须将User模型称为App\User

如果您使用

更改了默认命名空间
php artisan app:name YourNamespace

使用您使用的命名空间而不是App

答案 2 :(得分:0)

use Models\User;

应该是:

use App\User;