Ron*_*nie 6 php laravel laravel-5
我是laravel(实际上是任何PHP框架)的新手,但是对于PHP来说并不陌生.我创建了我的第一个项目,并设法使用预建Auth系统登录.我创建了一个新的路由,控制器和模型AccountSettings,当我转到/account它预先填入登录的用户帐户信息(名称和电子邮件)
Route::get('account', 'AccountSettingsController@index');
Route::post('account', 'AccountSettingsController@updateAccount');
Run Code Online (Sandbox Code Playgroud)
当我点击表单上的提交按钮时,我可以看到我正在发布的表单数据(名称,电子邮件和_token);
我AccountSettingsController是:
<?php namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\AccountSettings;
use Input;
use Request;
use Auth;
class AccountSettingsController extends Controller {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
return view('AccountSettings/index');
}
public function updateAccount()
{
var_dump(Input::all());
return view('AccountSettings/index');
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试通过以下方式保存用户信息:
public function updateAccount()
{
$id = Auth::user()->id;
$user = User::find($id);
$user->name = Request::input('name');
$user->email = Request::input('email');
$user->save();
return view('AccountSettings/index');
}
Run Code Online (Sandbox Code Playgroud)
但导致错误说User not found.可以理解,因为它不在我use的顶端.我试过use User但是没用.
另外一件事,这种类型的东西应该在模型中处理,对吗?我一直试图解决这个问题几个小时,我搜索的任何东西都没有真正相关.有人能指出我正确的方向吗?
cee*_*yoz 12
在Laravel 5中,你需要use App\User;在文件的顶部,而不是use User;(绝对不是use Users;).该User模型位于App命名空间中.
旁注:这是不必要的:
$id = Auth::user()->id;
$user = User::find($id);
Run Code Online (Sandbox Code Playgroud)
做就是了:
$user = Auth::user();
Run Code Online (Sandbox Code Playgroud)
并获得更清晰的代码和更少的数据库查询.
| 归档时间: |
|
| 查看次数: |
14687 次 |
| 最近记录: |