使用laravel 5和Auth更新登录的用户帐户设置

到今天为止,我还不熟悉laravel(实际上是任何PHP框架),但对PHP并不陌生。我创建了第一个项目,并使用预构建的Auth系统登录。我创建了一个名为AccountSettings的新路由、控制器和模型,因此当我转到/account时,它会预先填充登录的用户帐户信息(名称和电子邮件)

路由::获取(’account’,’[email protected]‘);
路线::post(’帐户’,’[email protected]‘);

当我点击表单上的提交按钮时,我可以看到我发布的表单数据(姓名、电子邮件和_令牌)

我的帐户设置控制器是:

<?php名称空间App\Http\Controllers;
使用App\Http\Controllers\Controller;
使用App\AccountSettings;
使用输入;
使用请求;
使用Auth;
类AccountSettingsController扩展控制器{
/**
*显示资源的列表。
*
*@返回响应
*/
公共职能指数()
{
返回视图(“帐户设置/索引”);
}
公共函数updateAccount()
{
var_dump(输入::all());
返回视图(“帐户设置/索引”);
}
}

我已尝试通过以下方式保存用户信息:

公共函数updateAccount()
{
$id=Auth::user()->id;
$user=user::find($id);
$user->name=Request::input('name');
$user->email=Request::input('email');
$user->save();
返回视图(“帐户设置/索引”);
}

但会导致一个错误,即找不到用户。可以理解,因为它不在我的中,请在顶部使用。我尝试了使用User,但没有成功

另一件事,这类东西应该在模型中处理,对吗?我已经花了好几个小时试图弄明白这一点,但我搜索的任何东西都与此无关。有人能给我指出正确的方向吗

在Laravel5中,您需要使用App\User文件顶部,而不是使用用户(而且绝对不能使用用户;)。User模型位于App命名空间中

旁注:这是不必要的:

$id=Auth::user()->身份证件
$user=user::find($id);

只要做:

$user=Auth::user();

并从中获得更清晰的代码和更少的数据库查询

发表评论