如何在 laravel 5.1 中更新用户 Table 中的值
How to update value in User Table in laravel 5.1
我有一个问题,我无法更新我的用户 table。我不知道他的问题在哪里 is.Whenever 我提交更新后的信息却无法更新。它不显示任何错误。但是 table 没有更新。请帮帮我。
我的控制器是
public function getUpdate() {
$profile = Auth::user();
return view('admin.article.edit')
->with('profile',$profile);
}
public function postUpdate(Request $request ) {
$profile = Auth::user();
$this->validate($request, [
'name' => 'required|max:120',
'username' => 'required|max:80',
'email' => 'required',
'password' => 'required'
]);
// save users table
$profile = Auth::user();
// $user = new App\User;
$profile->name = $request->input('name');
$profile->email = $request->input('email');
$profile->username = $request->input('username');
$profile->password = $request->input('password');
$profile->update();
}
我的edit.blade.php页面是
<?php $active="profile"; ?>
@extends('admin.dashboard')
@section('content')
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
User Profile
</h1>
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
<li class="active">User profile</li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<!-- left column -->
<div class="col-md-10">
<!-- general form elements -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Quick Example</h3>
</div>
<!-- /.box-header -->
<!-- form start -->
<form action="{{ route('update') }}" role="form" method="post" enctype="multipart/form-data">
<div class="box-body">
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" name="name" id="name" {{ $errors->has('name') ? 'class=has-error' : '' }} value="{{ Request::old('name') ? Request::old('name') : isset($profile) ? $profile->name : '' }}">
</div>
<div class="form-group">
<label for="username">User Name</label>
<input type="text" class="form-control" name="institute" id="institute" {{ $errors->has('username') ? 'class=has-error' : '' }} value="{{ Request::old('institute') ? Request::old('username') : isset($profile) ? $profile->institute : '' }}">
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" class="btn btn-primary">Submit</button>
<input type="hidden" name="_token" value="{{ Session::token() }}">
<input type="hidden" name="id" value="{{ $profile->id }}">
</div>
</form>
</div>
<!-- /.box -->
</div>
<!--/.col (left) -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
@endsection
我的路由文件是
Route::get('/profile/edit', [
'uses' => 'ProfileController@getUpdate',
'as' => 'edit'
]);
Route::post('profile/update', [
'uses' => 'ProfileController@postUpdate',
'as' => 'update'
]);
$profile = Auth::user();
创建一个新行,$profile->save();
将保存记录。
要更新特定行,请指定 row.e.g.
$id=$request->input('id');
$profile = User::where(['id'=>$id])->first();
$profile->name = $request->input('name');
$profile->email = $request->input('email');
$profile->username = $request->input('username');
$profile->password = $request->input('password');
$profile->update();
它没有更新,因为在您的表单视图中没有您在名称属性中设置的用户名
name="institute"
将其更改为用户名并尝试。另外,您没有密码和电子邮件字段。
假设您从 auth() 获取用户。所以改变
$profile = Auth::user();
$profile->name = $request->input('name');
$profile->email = $request->input('email');
$profile->username = $request->input('username');
$profile->password = $request->input('password');
$profile->update();
至
$profile = Auth::user();
$profile->name = $request->input('name');
$profile->email = $request->input('email');
$profile->username = $request->input('username');
// Hash
$profile->password = \Hash::make($request->input('password'));
// Change to save method
$profile->save();
试试吧!
试试这个
首先检查您是否已将要更新的所有字段设为可填写。
App/Entites/User.php
<?php
protected $fillable = ['name', 'email', 'password','username'];
然后更新记录
$profile = Auth::user();
$profile->name = $request->name;
$profile->email = $request->email;
$profile->username = $request->institute;
$profile->password = bcrypt($request->password);
$profile->save();
在你的路线中你应该这样写
Route::get('/profile/{profile_id}/edit', [
'uses' => 'ProfileController@getUpdate',
'as' => 'edit'
]);
Route::post('profile/update', [
'uses' => 'ProfileController@postUpdate',
'as' => 'update'
]);
在你的控制器中你应该这样写
public function getUpdate() {
$divisions = Division::all();
$districts = District::all();
$dcategories = Dcategory::all();
$profile = Auth::user();
return view('admin.article.edit')
->with('divisions',$divisions)
->with('districts',$districts)
->with('dcategories',$dcategories)
->with('profile',$profile);
}
public function postUpdate(Request $request ) {
$this->validate($request, [
'name' => 'required|max:120',
'fee' => 'required|max:5',
'division_id' => '',
'district_id' => '',
'dcategory_id' => '',
'education' => '',
'institute' => '',
'specialty' => '',
'hospital' => '',
'time' => '',
'phone' => '',
'image' =>''
]);
$doctor = Auth::user();
$doctor->name = $request['name'];
$doctor->division_id = $request['division_id'];
$doctor->district_id = $request['district_id'];
$doctor->dcategory_id = $request['dcategory_id'];
$doctor->institute = $request['institute'];
$doctor->education = $request['education'];
$doctor->specialty = $request['specialty'];
$doctor->hospital = $request['hospital'];
$doctor->phone = $request['phone'];
$doctor->time = $request['time'];
$doctor->fee = $request['fee'];
// $photo = Photo::find($request['id']);
$logo=$request->file('image');
if(!empty($logo)) {
$upload='uploads/logo';
$filename=$logo->getClientOriginalName();
$success=$logo->move($upload,$filename);
$doctor->image = $filename;
}
这可能会解决您的问题。
//this will load the currently logged in user
$profile = auth()->user();
//if your user db have column 'name' and you wanna update it
$profile->name = 'Jezzabelle';
//save to the db
$profile->save();
我有一个问题,我无法更新我的用户 table。我不知道他的问题在哪里 is.Whenever 我提交更新后的信息却无法更新。它不显示任何错误。但是 table 没有更新。请帮帮我。 我的控制器是
public function getUpdate() {
$profile = Auth::user();
return view('admin.article.edit')
->with('profile',$profile);
}
public function postUpdate(Request $request ) {
$profile = Auth::user();
$this->validate($request, [
'name' => 'required|max:120',
'username' => 'required|max:80',
'email' => 'required',
'password' => 'required'
]);
// save users table
$profile = Auth::user();
// $user = new App\User;
$profile->name = $request->input('name');
$profile->email = $request->input('email');
$profile->username = $request->input('username');
$profile->password = $request->input('password');
$profile->update();
}
我的edit.blade.php页面是
<?php $active="profile"; ?>
@extends('admin.dashboard')
@section('content')
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
User Profile
</h1>
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
<li class="active">User profile</li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<!-- left column -->
<div class="col-md-10">
<!-- general form elements -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Quick Example</h3>
</div>
<!-- /.box-header -->
<!-- form start -->
<form action="{{ route('update') }}" role="form" method="post" enctype="multipart/form-data">
<div class="box-body">
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" name="name" id="name" {{ $errors->has('name') ? 'class=has-error' : '' }} value="{{ Request::old('name') ? Request::old('name') : isset($profile) ? $profile->name : '' }}">
</div>
<div class="form-group">
<label for="username">User Name</label>
<input type="text" class="form-control" name="institute" id="institute" {{ $errors->has('username') ? 'class=has-error' : '' }} value="{{ Request::old('institute') ? Request::old('username') : isset($profile) ? $profile->institute : '' }}">
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" class="btn btn-primary">Submit</button>
<input type="hidden" name="_token" value="{{ Session::token() }}">
<input type="hidden" name="id" value="{{ $profile->id }}">
</div>
</form>
</div>
<!-- /.box -->
</div>
<!--/.col (left) -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
@endsection
我的路由文件是
Route::get('/profile/edit', [
'uses' => 'ProfileController@getUpdate',
'as' => 'edit'
]);
Route::post('profile/update', [
'uses' => 'ProfileController@postUpdate',
'as' => 'update'
]);
$profile = Auth::user();
创建一个新行,$profile->save();
将保存记录。
要更新特定行,请指定 row.e.g.
$id=$request->input('id');
$profile = User::where(['id'=>$id])->first();
$profile->name = $request->input('name');
$profile->email = $request->input('email');
$profile->username = $request->input('username');
$profile->password = $request->input('password');
$profile->update();
它没有更新,因为在您的表单视图中没有您在名称属性中设置的用户名
name="institute"
将其更改为用户名并尝试。另外,您没有密码和电子邮件字段。
假设您从 auth() 获取用户。所以改变
$profile = Auth::user();
$profile->name = $request->input('name');
$profile->email = $request->input('email');
$profile->username = $request->input('username');
$profile->password = $request->input('password');
$profile->update();
至
$profile = Auth::user();
$profile->name = $request->input('name');
$profile->email = $request->input('email');
$profile->username = $request->input('username');
// Hash
$profile->password = \Hash::make($request->input('password'));
// Change to save method
$profile->save();
试试吧!
试试这个
首先检查您是否已将要更新的所有字段设为可填写。
App/Entites/User.php
<?php
protected $fillable = ['name', 'email', 'password','username'];
然后更新记录
$profile = Auth::user();
$profile->name = $request->name;
$profile->email = $request->email;
$profile->username = $request->institute;
$profile->password = bcrypt($request->password);
$profile->save();
在你的路线中你应该这样写
Route::get('/profile/{profile_id}/edit', [
'uses' => 'ProfileController@getUpdate',
'as' => 'edit'
]);
Route::post('profile/update', [
'uses' => 'ProfileController@postUpdate',
'as' => 'update'
]);
在你的控制器中你应该这样写
public function getUpdate() {
$divisions = Division::all();
$districts = District::all();
$dcategories = Dcategory::all();
$profile = Auth::user();
return view('admin.article.edit')
->with('divisions',$divisions)
->with('districts',$districts)
->with('dcategories',$dcategories)
->with('profile',$profile);
}
public function postUpdate(Request $request ) {
$this->validate($request, [
'name' => 'required|max:120',
'fee' => 'required|max:5',
'division_id' => '',
'district_id' => '',
'dcategory_id' => '',
'education' => '',
'institute' => '',
'specialty' => '',
'hospital' => '',
'time' => '',
'phone' => '',
'image' =>''
]);
$doctor = Auth::user();
$doctor->name = $request['name'];
$doctor->division_id = $request['division_id'];
$doctor->district_id = $request['district_id'];
$doctor->dcategory_id = $request['dcategory_id'];
$doctor->institute = $request['institute'];
$doctor->education = $request['education'];
$doctor->specialty = $request['specialty'];
$doctor->hospital = $request['hospital'];
$doctor->phone = $request['phone'];
$doctor->time = $request['time'];
$doctor->fee = $request['fee'];
// $photo = Photo::find($request['id']);
$logo=$request->file('image');
if(!empty($logo)) {
$upload='uploads/logo';
$filename=$logo->getClientOriginalName();
$success=$logo->move($upload,$filename);
$doctor->image = $filename;
}
这可能会解决您的问题。
//this will load the currently logged in user
$profile = auth()->user();
//if your user db have column 'name' and you wanna update it
$profile->name = 'Jezzabelle';
//save to the db
$profile->save();