3
我是Laravel的新手,並且試圖使用Laratrust附加組件(用戶角色和權限附加組件)設置播種器。當我運行php artisan db:seed
時,出現錯誤Class 'App\Role' not found
,但無法找出爲什麼它看到Permissions類而不是Role類。我播種機看起來是這樣的:找不到Laravel和Laratrust命名空間
use Illuminate\Database\Seeder;
use App\Permission;
use App\Role;
class LaratrustSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$owner = new Role();
$owner->name = 'owner';
$owner->display_name = 'Project Owner';
$owner->description = 'User is the owner of a given project';
$owner->save();
}
}
我在我的App
目錄Permission
和Role
文件與此相應的內容:
namespace App;
use Laratrust\LaratrustPermission;
class Permission extends LaratrustPermission
{
//
}
和
namespace App;
use Laratrust\LaratrustRole;
class Role extends LaratrustRole
{
//
}
我檢查了我的laratrust.php
配置文件有'role' => 'App\Role'
和'permission' => 'App\Permission'
集。我已經重新運行composer dump-autoload
以及只是爲了看。爲什麼看到一個而不是另一個?
如果我只是直接引用'使用Laratrust \ LaratrustRole;'在我的播種機和使用'LaratrustRole()',而不是'角色()'它的工作原理。 ..我的命名空間有什麼問題? – jrothafer
一切看起來確定您提供的信息。你可能在'DatabaseSeeder.php'中調用了其他播種器嗎?嘗試運行'php artisan db:seed --class = LaratrustSeeder' –