Class Database\Seeds\PermissionsTableSeeder 不存在
Class Database\Seeds\PermissionsTableSeeder does not exist
我已经签出,class PermissionsTableSeeder
存在路径:Database\Seeds\PermissionsTableSeeder
.
此外,我试过:
composer dump-autoload
php artisan cache:clear
当我 运行 命令时:php artisan db:seed
它给了我一个例外:
ReflectionException : Class Database\Seeds\PermissionsTableSeeder
does not exist
at
C:\Projects\secure_secure\vendor\laravel\framework\src\Illuminate\Container\Container.php:790
786| if ($concrete instanceof Closure) {
787| return $concrete($this, $this->getLastParameterOverride());
788| }
789|
790| $reflector = new ReflectionClass($concrete);
791|
792| // If the type is not instantiable, the developer is attempting to resolve
793| // an abstract type such as an Interface or Abstract Class and there is
794| // no binding registered for the abstractions so we need to bail out.
异常跟踪:
1
ReflectionClass::__construct("Database\Seeds\PermissionsTableSeeder")
C:\Projects\secure_secure\vendor\laravel\framework\src\Illuminate\Container\Container.php:790
2
Illuminate\Container\Container::构建("Database\Seeds\PermissionsTableSeeder")
C:\Projects\secure_secure\vendor\laravel\framework\src\Illuminate\Container\Container.php:667
如何解决?
laravel中没有Database\Seeds\
命名空间,播种器默认没有命名空间。
请检查DatabaseSeeder.php
你应该有这个功能:
public function run()
{
.....
$this->call(PermissionsTableSeeder::class);
}
还要检查您是否没有将任何命名空间分配给DatabaseSeeder
class或PermissionsTableSeeder
class.
您还应该删除 DatabaseSeeder.php
中以 use Database\Seeds
开头的任何行,因为 命名空间 不存在。
我改了database/seeds/DatabaseSeeder.php
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use Database\Seeds\PermissionsTableSeeder;
use Database\Seeds\RolesTableSeeder;
use Database\Seeds\ConnectRelationshipsSeeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();
$this->call(PermissionsTableSeeder::class);
$this->call(RolesTableSeeder::class);
$this->call(ConnectRelationshipsSeeder::class);
//$this->call('UsersTableSeeder');
Model::reguard();
}
}
到
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use Database\Seeds\PermissionsTableSeeder;
use Database\Seeds\RolesTableSeeder;
use Database\Seeds\ConnectRelationshipsSeeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();
$this->call('PermissionsTableSeeder');
$this->call('RolesTableSeeder');
$this->call('ConnectRelationshipsSeeder');
//$this->call('UsersTableSeeder');
Model::reguard();
}
}
这修复了我的错误
php artisan db:seed
Seeding: DefaultPermissionitemsTableSeeder
Seeding: DefaultRoleItemsTableSeeder
Seeding: DefaultConnectRelationshipsSeeder
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:view.users
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:create.users
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:edit.users
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:delete.users
Seeding: PermissionsTableSeeder
ReflectionException : Class Database\Seeds\RolesTableSeeder does not exist
at D:\Work\Coding\Laravel\Epox\vendor\laravel\framework\src\Illuminate\Container\Container.php:788
784| if ($concrete instanceof Closure) {
785| return $concrete($this, $this->getLastParameterOverride());
786| }
787|
> 788| $reflector = new ReflectionClass($concrete);
789|
790| // If the type is not instantiable, the developer is attempting to resolve
791| // an abstract type such as an Interface or Abstract Class and there is
792| // no binding registered for the abstractions so we need to bail out.
Exception trace:
1 ReflectionClass::__construct("Database\Seeds\RolesTableSeeder")
D:\Work\Coding\Laravel\Epox\vendor\laravel\framework\src\Illuminate\Container\Container.php:788
2 Illuminate\Container\Container::build("Database\Seeds\RolesTableSeeder")
D:\Work\Coding\Laravel\Epox\vendor\laravel\framework\src\Illuminate\Container\Container.php:667
Please use the argument -v to see more details.
到
php artisan db:seed
Seeding: DefaultPermissionitemsTableSeeder
Seeding: DefaultRoleItemsTableSeeder
Seeding: DefaultConnectRelationshipsSeeder
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:view.users
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:create.users
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:edit.users
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:delete.users
Seeding: PermissionsTableSeeder
Seeding: RolesTableSeeder
Seeding: ConnectRelationshipsSeeder
php artisan --version
Laravel Framework 5.8.36
我已经签出,class PermissionsTableSeeder
存在路径:Database\Seeds\PermissionsTableSeeder
.
此外,我试过:
composer dump-autoload
php artisan cache:clear
当我 运行 命令时:php artisan db:seed
它给了我一个例外:
ReflectionException : Class Database\Seeds\PermissionsTableSeeder does not exist
at C:\Projects\secure_secure\vendor\laravel\framework\src\Illuminate\Container\Container.php:790 786| if ($concrete instanceof Closure) { 787| return $concrete($this, $this->getLastParameterOverride()); 788| } 789|
790| $reflector = new ReflectionClass($concrete); 791| 792| // If the type is not instantiable, the developer is attempting to resolve 793| // an abstract type such as an Interface or Abstract Class and there is 794| // no binding registered for the abstractions so we need to bail out.
异常跟踪:
1
ReflectionClass::__construct("Database\Seeds\PermissionsTableSeeder") C:\Projects\secure_secure\vendor\laravel\framework\src\Illuminate\Container\Container.php:7902
Illuminate\Container\Container::构建("Database\Seeds\PermissionsTableSeeder") C:\Projects\secure_secure\vendor\laravel\framework\src\Illuminate\Container\Container.php:667
如何解决?
laravel中没有Database\Seeds\
命名空间,播种器默认没有命名空间。
请检查DatabaseSeeder.php
你应该有这个功能:
public function run()
{
.....
$this->call(PermissionsTableSeeder::class);
}
还要检查您是否没有将任何命名空间分配给DatabaseSeeder
class或PermissionsTableSeeder
class.
您还应该删除 DatabaseSeeder.php
中以 use Database\Seeds
开头的任何行,因为 命名空间 不存在。
我改了database/seeds/DatabaseSeeder.php
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use Database\Seeds\PermissionsTableSeeder;
use Database\Seeds\RolesTableSeeder;
use Database\Seeds\ConnectRelationshipsSeeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();
$this->call(PermissionsTableSeeder::class);
$this->call(RolesTableSeeder::class);
$this->call(ConnectRelationshipsSeeder::class);
//$this->call('UsersTableSeeder');
Model::reguard();
}
}
到
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use Database\Seeds\PermissionsTableSeeder;
use Database\Seeds\RolesTableSeeder;
use Database\Seeds\ConnectRelationshipsSeeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();
$this->call('PermissionsTableSeeder');
$this->call('RolesTableSeeder');
$this->call('ConnectRelationshipsSeeder');
//$this->call('UsersTableSeeder');
Model::reguard();
}
}
这修复了我的错误
php artisan db:seed
Seeding: DefaultPermissionitemsTableSeeder
Seeding: DefaultRoleItemsTableSeeder
Seeding: DefaultConnectRelationshipsSeeder
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:view.users
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:create.users
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:edit.users
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:delete.users
Seeding: PermissionsTableSeeder
ReflectionException : Class Database\Seeds\RolesTableSeeder does not exist
at D:\Work\Coding\Laravel\Epox\vendor\laravel\framework\src\Illuminate\Container\Container.php:788
784| if ($concrete instanceof Closure) {
785| return $concrete($this, $this->getLastParameterOverride());
786| }
787|
> 788| $reflector = new ReflectionClass($concrete);
789|
790| // If the type is not instantiable, the developer is attempting to resolve
791| // an abstract type such as an Interface or Abstract Class and there is
792| // no binding registered for the abstractions so we need to bail out.
Exception trace:
1 ReflectionClass::__construct("Database\Seeds\RolesTableSeeder")
D:\Work\Coding\Laravel\Epox\vendor\laravel\framework\src\Illuminate\Container\Container.php:788
2 Illuminate\Container\Container::build("Database\Seeds\RolesTableSeeder")
D:\Work\Coding\Laravel\Epox\vendor\laravel\framework\src\Illuminate\Container\Container.php:667
Please use the argument -v to see more details.
到
php artisan db:seed
Seeding: DefaultPermissionitemsTableSeeder
Seeding: DefaultRoleItemsTableSeeder
Seeding: DefaultConnectRelationshipsSeeder
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:view.users
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:create.users
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:edit.users
Seeding: DefaultConnectRelationshipsSeeder - Role:Admin attached to Permission:delete.users
Seeding: PermissionsTableSeeder
Seeding: RolesTableSeeder
Seeding: ConnectRelationshipsSeeder
php artisan --version
Laravel Framework 5.8.36