未找到类'appModelsUser' 拉拉维尔 5.4



出现了消息" class'app models under'找不到",但我已经在多个地方进行了研究,但没有任何解决方案。

composer.json:

"autoload": {
    "classmap": [
        "database","Models"
    ],
    "psr-4": {
        "App\": "app/"
    }
},

user.php:

namespace AppModels;
class User extends Eloquent{
    public function allUsers(){
        return self::all();     
    }   
}

usercontroller.php:

namespace AppHttpControllers;
use AppModelsUser;
use IlluminateHttpRequest;
class UserController extends Controller{    
    protected $user = null;
    public function __construct(User $user){
        $this->user = $user;
    }
    public function allUsers(){
        return $this->user->allUsers();
    }
    public function getUser($id){
    }
    public function saveUser(){
    }
    public function updateUser($id){
    }
    public function deleteUser($id){
    }
}

usercontroller替代方案(也不工作(

namespace AppHttpControllers;
use AppModelsUser;
use IlluminateHttpRequest;
class UserController extends Controller{
    public function __construct(){          
    }
    public function allUsers(){
        $class = 'appModelsUser';
        return $class::allUsers();
    }
    public function getUser($id){
    }
    public function saveUser(){
    }
    public function updateUser($id){
    }
    public function deleteUser($id){
    }
}

有人可以帮我吗?

转到 config/auth.php并更改应用程序 user:class to app models user :: class。

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => AppModelsUser::class,
    ],

还更改user.php模型的名称空间

namespace AppModels;

您应该关心案例。

$class = 'appModelsUser';

行不通,但是

$class = 'AppModelsUser';

可能会。

我曾经有一个类似的问题。这是我解决的方式这是一个资源文件,我称之为类实例,

$this->user->name

和模型文件中,我称其为

User::class

即使命名空间显然是app models

无效,因为用户模型在App root Directory中。所以我将实例更改为

AppUser::class

它在那之后起作用

相关内容

  • 没有找到相关文章

最新更新