我几天前使用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',
];
}
}
如果您有更简单的方法,请写信给我!
答案 0 :(得分:1)
您的控制器方法protected
可以public
访问。
将protected
替换为public
public function update(Request $request) {
//your code here
}