如何从表单 laravel 5.1 更新表格


How to update table from form laravel 5.1

嘿伙计们,我试图让这个表格更新我的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将处理输入,但我不确定从这里开始做什么。

感谢所有的帮助

首先:我不建议echo $user的属性。使用刀片语法,例如 {{ $user->id }} .为了安全起见,当您使用此语法时,Laravel Blade 会转义您的值。

查看Laravel关于插入和创建模型的文档,了解有关创建模型的更多信息。

从本质上讲,您要做的是这样的:

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();
}