Laravel 5.3,Class' App \ Models \ User'未找到

时间:2017-01-23 12:31:42

标签: laravel

我有laravel app。

它使用@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); activityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main); setSupportActionBar((Toolbar) activityMainBinding.toolbarActionbar); hideItem();/*Function declaration defined in outside of onCreate*/ } private void hideItem() { navigationView = (NavigationView) findViewById(R.id.navigation_view);//navigation_view is id declare in xml Menu nav_Menu = navigationView.getMenu(); nav_Menu.findItem(R.id.maps).setVisible(false);/* id of (maps,documents,reports,settings,logout) declare in drawer_menu.xml file*/ nav_Menu.findItem(R.id.documents).setVisible(false); nav_Menu.findItem(R.id.reports).setVisible(false); nav_Menu.findItem(R.id.settings).setVisible(false); nav_Menu.findItem(R.id.logout).setVisible(false); } 命令在本地工作。

部署到远程服务器后,它不起作用。

每个工匠命令都会返回:

php artisan serve

摘自 [Symfony\Component\Debug\Exception\FatalThrowableError] Class 'App\Models\User' not found (区分大小写)。

App\Models\User.php

composer dump-autoload无法修复它。

的.gitignore

<?
namespace App\Models;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable {
// code here
}

composer.json

/vendor
.env
/public/css/
/public/js/
/public/img/
/public/fonts/
/node_modules/

}

本地系统:使用php 7.0构建linux 远程系统:debian jessie with php 7.0

3 个答案:

答案 0 :(得分:2)

在您尝试使用该模型的控制器顶部添加use子句:

use App\Models\User;

或者,您可以使用完整命名空间:

$user = App\Models\User::find(1);

另外,请确保User.php位于app\Models目录中,并确保您已在config\auth.php文件中更改了模型:

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Model\User::class,
    ],
],

答案 1 :(得分:0)

最后,我找到了解决方案。

在php.ini中设置short_open_tag = On并且瞧 - 它可以工作。

答案 2 :(得分:0)

当我将模型从app文件夹的根目录复制到app文件夹内的Models文件夹时,我在控制器中使用use App\Models\User;

还需要进行其他更改,该更改是在模型内部使用namespace App\Models;,因此现在我的用户模型如下:

<?php

namespace App\Models;

use Illuminate\Auth\Authenticatable;
use Laravel\Lumen\Auth\Authorizable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;

class User extends Model implements AuthenticatableContract, AuthorizableContract