我正在尝试编辑用户的个人资料,但我收到此错误:
LOAD XML INFILE '/datas/data.xml' INTO TABLE data;
这是我的edit.blade.php
ErrorException in editController.php line 144: Creating default object from empty value
这是我的editController
<blockquote>
<p>You could edit your profile here.</p>
</blockquote>
<table width="80%">
<tr>
<td>Last Name: </td>
<td><input type="text" name="lname" value='{{ $user -> lname}}' size="20"><br>
{{ ($errors->has('lname')) ? $errors->first('lname') : '' }} <br> </td>
</tr>
<tr>
<td>First Name: </td>
<td><input type="text" name="fname" value='{{ $user -> fname}}' size="20"><br>
{{ ($errors->has('fname1')) ? $errors->first('fname') : '' }} <br> </td>
</tr>
<tr>
<td>Middle Name: </td>
<td><input type="text" name="mname" value='{{ $user -> mname}}' size="20"><br>
{{ ($errors->has('mname')) ? $errors->first('mname') : '' }} <br> </td>
</tr>
<tr>
<td>Email Address: </td>
<td><input type="text" name="email" value='{{ $user -> email}}' size="20">
<br> {{ ($errors->has('email')) ? $errors->first('email') : '' }} <br> </td>
</tr>
<tr>
<td>
<!-- <input type="hidden" name="_method" value="put">-->
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="submit" value="Update Profile" name = "submit" role="button" class="btn btn-warning" style="margin-top: 25px; margin-bottom: 7px;">
<a href="/home" class="btn btn-default" role="button" style="margin-left: 5px; margin-top: 25px; margin-bottom: 7px;">Back</a>
</td>
</tr>
</table>
</form>
这是我的路线
public function index()
{
$user = Auth::user();
return view('user/profile', array('user' => $user));
}
public function edit(){
//$user = User::find($id);
$user = Auth::user();
// display the article to single page
return view('user/editProfile', array('user' => $user));
}
public function update()
{
// Get the status
$user = Auth::user();
$userf->fname = Input::get('fname');
$userm->mname = Input::get('mname');
$userl->lname = Input::get('lname');
$usere->email = Input::get('email');
$sql = "UPDATE users SET fname= ? mname= ? lname = ? email = ? WHERE id= ?";
DB::update($sql, array($userf, $userm, $userl, $usere , $user));
return Redirect::to('/home');
}
你能帮我找到我收到此错误的原因吗?谢谢你的帮助
答案 0 :(得分:0)
正如我所看到的,问题是你使用$ userf,$ userm,$ userl,$ usere作为对象,而没有首先声明像object这样的变量,所以当你$userf->fname
时你得到错误{ {1}}。
我认为您只需要使用$ user对象来设置新属性并将其保存到数据库中。
所以你可以做到
Creating default object from empty value
然后您可以使用Laravel ORM保存数据$user->fname = Input::get('fname');
$user->mname = Input::get('mname');
$user->lname = Input::get('lname');
$user->email = Input::get('email');
答案 1 :(得分:0)
您应该使用$ request-&gt; user()来返回经过身份验证的用户的实例。
答案 2 :(得分:0)
我修改了控制器并且工作正常: 这是我做的:
public function update()
{
// Get the status
$user = Auth::user();
$userf = Input::get('fname');
$userm = Input::get('mname');
$userl = Input::get('lname');
$usere = Input::get('email');
$save = DB::table('users')
->where('id', $user->id)
->update(array('fname' => $userf, 'mname'=>$userm, 'lname'=>$userl,'email'=>$usere));
return redirect('/home');