嘿伙计我试图让这个表单更新我的users table
,但我不知道如何在laravel中这样做。这是我的表格
<form method="POST" action="/profile/update">
<div class="form-group hidden">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="hidden" name="id" value="<?php echo $user->id;?>">
<input type="hidden" name="_method" value="PATCH">
</div>
<div class="form-group">
<label for="email"><b>Name:</b></label>
<input type="text" name="name" placeholder="Please enter your email here" class="form-control" value="<?php echo $user->name;?>"/>
</div>
<div class="form-group">
<label for="email"><b>Email:</b></label>
<input type="text" name="email" placeholder="Please enter your email here" class="form-control" value="<?php echo $user->email;?>"/>
</div>
<div class="form-group">
<button type="submit" class="btn btn-default"> Submit </button>
</div>
</form>
这是我的控制器
<?php
namespace App\Http\Controllers;
use Auth;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class ProfileController extends Controller
{
/**
* Update user profile & make backend push to DB
**/
public function index() {
// connecting to the DB and accessing
$user = Auth::user();
//var_dump($user);
return view('profile', compact('user'));
}
public function update(Request $request) {
$request->only('name','email');
return back();
}
}
我的update method
会处理输入但我不知道该怎么做。
感谢所有帮助
答案 0 :(得分:0)
首先:我不推荐echo
$user
的属性。使用Blade语法,例如{{ $user->id }}
。为了安全起见,Laravel Blade在使用此语法时会转义您的值。
有关创建模型的详细信息,请查看Laravel documentation on inserting & creating models。
基本上,你想做的事情就是这样:
public function update(Request $request) {
$input = $request->only('name','email');
$user = Auth::user(); // Fetch the user model
// Update the fields
$user->name = $input['name'];
$user->email = $input['email'];
// Save changes
$user->save();
return back();
}