>我目前正在使用 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();