Laravel命名空间类错误

时间:2018-03-19 05:26:35

标签: php laravel

尝试通过将用户表中的role_id和角色表中的user_id链接到用户表来了解如何从角色表中获取角色名称。

我收到此错误

<?php

namespace Laravel;

use Illuminate\Database\Eloquent\Model;

class Role extends Model
{
//

protected $fillable = [
'name',
];

public function users()
{
return $this->belongsToMany('App\User');
}

}

我的所有与角色相关的文件的所有引用角色和文件都是名称,RoleController和Role.php,其视图名为index.blade.php。

继承我的角色课程:

namespace Laravel\Http\Controllers;

use Laravel\Role;
use Illuminate\Http\Request;

它向我指出它可能是一个命名空间问题,但其他任何东西似乎都指向Laravel,就像RoleController一样:

namespace Laravel;

和用户模型有:

(socials, personId)

那么为什么这对我不起作用?据我所知,一切都被命名为正确。

2 个答案:

答案 0 :(得分:1)

你应该这样试试:

<强> Role.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Role extends Model
{
//

protected $fillable = [
'name',
];

public function users()
{
return $this->belongsToMany('App\User');
}

}

Controller中使用,如:

use App\Role;

答案 1 :(得分:0)

Laravel默认使用App命名空间,因为它使用 PSR-4自动加载标准

如果您要使用Laravel命名空间,请尝试使用artisan命令更改您的应用程序名称app:name,如php artisan app:name Laravel