Laravel5.4雄辩的模型加载,从4.1项目移植



>我目前正在使用 laravel 4.1 移植一个旧站点到 laravel 5.4。已经实现了很多小的更改(错误日志有帮助(,但我坚持以下模型用法:

namespace App;

class navire extends Eloquent
{
protected $table = 'navire';
public function user()
{
    return $this->belongsTo('user');
}
public function getId()
{
    return $this->id;
}
}

我正在尝试从控制器调用它:

namespace AppHttpControllers;
use IlluminateSupportFacadesInput;
use Appnavire;
class UserController extends Controller
{
   public function somefunc()
   {
      // .... 
      $navire = navire::where('user_id',$user->id)->get()->take(1);

    }
}

尝试了很多使用"使用..."的方法或者在开头用\调用它,到目前为止没有任何效果

错误示例:

local.ERROR: exception 'SymfonyComponentDebugExceptionFatalErrorException' with message 'Class 'AppHttpControllersnavire' not found' in /home/user/www/app/Http/Controllers/UserController.php:30
local.ERROR: exception 'SymfonyComponentDebugExceptionFatalErrorException' with message 'Class 'AppHttpControllersnavire' not found' in /home/user/www/app/Http/Controllers/UserController.php:30
local.ERROR: exception 'SymfonyComponentDebugExceptionFatalErrorException' with message 'Class 'Appnavire' not found' in /home/user/www/app/Http/Controllers/UserController.php:32
 local.ERROR: exception 'SymfonyComponentDebugExceptionFatalErrorException' with message 'Class 'navire' not found' in /home/user/www/app/Http/Controllers/UserController.php:32

我已经调用了转储自动加载。

要么使用$navire = Appnavire::where('user_id',$user->id)->get()->take(1);或者,由于您已经导入了模型,请使用$navire = navire::where('user_id',$user->id)->get()->take(1);即前面没有斜杠。

另一件事,你可以只使用first()而不是->get()->take(1)。像这样$navire = Appnavire::where('user_id',$user->id)->first();

相关内容

  • 没有找到相关文章

最新更新