Php Laravel 5.6 db:seed抛出FatalThrowableError:Class';APP\Todo';找不到
我正在使用faker generate生成假条目,并在运行此命令时借助php artisan db:seed将其插入数据库 它显示了一个错误: 播种机:可稳定播种机 Symfony\Component\Debug\Exception\FatalThroTableError:类 找不到“APP\Todo” 在 /var/www/html/todos/vendor/laravel/framework/src/illumb/Database/elounce/FactoryBuilder.php:217 213 |如果($this->金额<1){ 214 | return(new$this->class)->newCollection(); 215| } 216| 217 |$instances=(new$this->class)->newCollection(数组映射(函数()使用($attributes)){ 218 |返回$this->makeInstance($attributes); 219 |},范围(1,$this->amount)); 220| 221 |$this->callAfterMaking($instances) 异常跟踪: 1.1\Database\Elount\FactoryBuilder::make([]) /var/www/html/todos/vendor/laravel/framework/src/illumb/Database/elounce/FactoryBuilder.php:167 2\Database\Eloquent\FactoryBuilder::create() /var/www/html/todos/database/seeds/TodosTableSeeder.php:15 请使用参数-v查看更多详细信息 这是我的密码 UserFactory.phpPhp Laravel 5.6 db:seed抛出FatalThrowableError:Class';APP\Todo';找不到,php,database,laravel,factory,laravel-seeding,Php,Database,Laravel,Factory,Laravel Seeding,我正在使用faker generate生成假条目,并在运行此命令时借助php artisan db:seed将其插入数据库 它显示了一个错误: 播种机:可稳定播种机 Symfony\Component\Debug\Exception\FatalThroTableError:类 找不到“APP\Todo” 在 /var/www/html/todos/vendor/laravel/framework/src/illumb/Database/elounce/FactoryBuilder.php:217
<?php
use Faker\Generator as Faker;
$factory->define(App\User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
'remember_token' => str_random(10),
];
});
$factory->define(App\Todo::class, function(Faker $faker) {
return[
'todos' => $faker->sentence(10)
];
});
<?php
use App\Todo;
use Illuminate\Database\Seeder;
class TodosTableSeeder extends Seeder
{
public function run()
{
factory(APP\Todo::class, 10)->create() ;
}
}
<?php
use App\Todo;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
//$this->call(UsersTableSeeder::class);
$this->call(TodosTableSeeder::class);
}
}
TodoTableSeeder.php中的
将run
方法更改为
public function run()
{
factory(Todo::class, 10)->create();
}
您正在尝试获取APP\Todo和APP\Todo不存在的类,因为not是正确的,正确的表单是
\App\Todo::类
但是如果您在标题中调用该类,当您需要该类时,只需要像这样调用它:class All::class
我希望这对你有所帮助:)我也遇到了同样的问题。
问题是我更改了项目名称,因此它找不到App\Todo。
将应用程序替换为项目名称MYTODO/Todo::class
TodoTableSeeder.php
public function run()
{
factory(MYTODO\Todo::class, 10)->create();
}
我希望这对你有帮助 您需要为todos应用程序制作一个模型
use App\Todo;
use Illuminate\Database\Seeder;
class TodosTableSeeder extends Seeder
{
public function run()
{
//factory(APP\Todo::class, 10)->create() ;
factory(App\Todo::class, 10)->create() ;
//I changed the APP to App
}
}
在本例中,编译器正在查找App/Todo:意味着它在App文件夹中查找Todo.php
工匠制作:模型待办事项
^首先运行此命令。。然后,您将在应用程序文件夹中看到一个Todo.php。
然后运行原始命令
php artisan db:Seed
希望它能起作用。在Laravel7.0中为我工作。尝试factory(App\Todo::class,10)->create()代码>取而代之。资本化很重要,我用它来播种。你所说的大写是什么意思?意思是APP
与APP
不同,这已经在评论和两个答案中得到了回答。你至少应该强调一下为什么你改变了一些事情,以便其他人可以从你的答案中学习