Laravel 5.2更新数据

时间:2016-06-07 17:08:27

标签: database laravel

我几天前使用Laravel 5.2,我遇到了问题! 我希望,有人可以帮助我。

我想要一个特殊的程序,所以我不会使用资源。 我的问题是,用户的数据在数据库中没有更新,我尝试了很多方法,但没有。

这是我的控制器:

protected function edit($name)
    {
        return view('user.edit', array('user' => User::findByUsernameOrFail($name)));
    }

    protected function update($name, ProfileDataRequest $request)
    {
        $profile = User::findorfail($name);

        $input = $request -> all();

        $profile->update($input);

        return redirect()->action('UserController@show');
    }

我的表格:

{!! Form::model($user, ['method' => 'PATCH', 'action' => ['UserController@update', $user -> name ]]) !!}

         {{ csrf_field() }}

         {!! Form::label('sms', 'SMS: ') !!}
         {!! Form::checkbox('sms', 1, false) !!}

         {!! Form::label('name', 'Name: ') !!}
         {!! Form::text('name') !!}



         {!! Form::submit('Submit') !!}


{!! Form::close() !!}

我的路线:

Route::get('/user', 'UserController@index');
Route::get('/user/{name}', 'UserController@show');
Route::get('/user/{name}/edit', 'UserController@edit');
Route::patch('/user/{name}', 'UserController@update');

我的请求文件:

class ProfileDataRequest extends Request
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => 'required',
            'sms' => 'required',
        ];
    }
}

如果您有更简单的方法,请写信给我!

1 个答案:

答案 0 :(得分:1)

您的控制器方法protected可以public访问。

protected替换为public

public function update(Request $request) {
   //your code here
}

Laravel Http Controller