Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.6 db:seed抛出FatalThrowableError:Class';APP\Todo';找不到_Php_Database_Laravel_Factory_Laravel Seeding - Fatal编程技术网

Php Laravel 5.6 db:seed抛出FatalThrowableError:Class';APP\Todo';找不到

Php 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

我正在使用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.php

<?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
不同,这已经在评论和两个答案中得到了回答。你至少应该强调一下为什么你改变了一些事情,以便其他人可以从你的答案中学习