【问题标题】:Laravel namespace class errorLaravel 命名空间类错误
【发布时间】:2018-03-19 14:43:19
【问题描述】:

试图学习如何从角色表中获取角色名称,方法是将其链接到用户表,其中用户表中的角色 ID 和角色表中的用户 ID。

我收到了这个错误

Class 'App\Role' not found (View: C:\

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

这是我的角色类:

<?php

namespace Laravel;

use Illuminate\Database\Eloquent\Model;

class Role extends Model
{
//

protected $fillable = [
'name',
];

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

}

有人向我指出这可能是一个命名空间问题,但其他一切似乎都指向 Laravel,就像 RoleController 一样:

namespace Laravel\Http\Controllers;

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

并且用户模型有:

namespace Laravel;

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

【问题讨论】:

  • 使用namespace App;

标签: php laravel


【解决方案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;

【讨论】:

  • 这似乎对我有用,还添加了一个数据透视表。
  • @RathBaloth:很高兴为您提供帮助
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2015-07-27
    • 2013-11-11
    • 1970-01-01
    • 2014-10-02
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多