私はLaravelを一般的に使いこなしており、Laratrustアドオン(ユーザーロールとアクセス許可アドオン)を使用してシーダーを設定しようとしています。 php artisan db:seed
を実行するとエラーが発生し、Class 'App\Role' not found
と表示され、なぜロールクラスではなくPermissionsクラスが表示されるのかわかりません。私は私のlaratrust.php
ことをチェックしましたLaravelとLaratrust名前空間が見つかりません
namespace App;
use Laratrust\LaratrustPermission;
class Permission extends LaratrustPermission
{
//
}
と
namespace App;
use Laratrust\LaratrustRole;
class Role extends LaratrustRole
{
//
}
:私はこのそれぞれの内容と私のApp
ディレクトリ内Permission
とRole
ファイルを持っている
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();
}
}
:私のシーダは、このようになります設定ファイルには'role' => 'App\Role'
と'permission' => 'App\Permission'
が設定されています。私はcomposer dump-autoload
を再訪しました。なぜそれは1つではなく、他のものを見ているのですか?
私はちょうど直接Laratrust \ LaratrustRoleを使用し、 '参照している場合は、私のシーダに'と 'LaratrustRole()'の代わりに '役割()'それが動作を使用しています。 ..私の名前空間に何が間違っていますか? – jrothafer
あなたが与えた情報ですべてがうまく見えます。他のシーダーが 'DatabaseSeeder.php'で呼び出されているのでしょうか? 'php artisan db:seed --class = LaratrustSeeder'を実行してみてください。 –