如何在 laravel 控制器文件中为创建和更新操作创建相同的功能?
how to make same function for create and update in laravel controller file for create and update operation?
我已经为两者准备了相同的表格。
我下面的控制器显示了两个单独的创建和更新功能
我是 Laravel 框架的新手,我正在从事地址簿项目。
用于创建新的:
public function store(Request $request) // for creating new member
{
request()->validate([
'name' => 'required',
'email' => 'required',
'address'=>'required',
'phone'=>'required',
]);
Member::create($request->all());
return redirect()->route('members.index')
->with('success','Member created successfully');
}
public function update(Request $request,Member $member) //for updating member info
{
request()->validate([
'name' => 'required',
'email' => 'required',
'address'=>'required',
'phone'=>'required',
]);
$member->update($request->all());
return redirect()->route('members.index')
->with('success','Member updated successfully');
}
我只需要提前为operations.thank你们两个做一个功能
定义你的路线
Route::post('createanddelete/{id?}','YourController@yourFunction');
通过给予? in route 表示可选参数
在你的控制器中
public function yourFunction($id = null, Request $request)
{
request()->validate([
'name' => 'required',
'email' => 'required',
'address'=>'required',
'phone'=>'required',
]);
// write update code
if($id)
{
$member = Member::find($id);
if($member)
{
$member->update($request->all());
return redirect()->route('members.index')
->with('success','Member updated successfully');
}
}
// write create code
else
{
Member::create($request->all());
return redirect()->route('members.index')
->with('success','Member created successfully');
}
}
在视图提供者中相应的表单动作。
希望这会有所帮助,但您应该为模块化代码编写单独的函数
我已经为两者准备了相同的表格。 我下面的控制器显示了两个单独的创建和更新功能 我是 Laravel 框架的新手,我正在从事地址簿项目。 用于创建新的:
public function store(Request $request) // for creating new member
{
request()->validate([
'name' => 'required',
'email' => 'required',
'address'=>'required',
'phone'=>'required',
]);
Member::create($request->all());
return redirect()->route('members.index')
->with('success','Member created successfully');
}
public function update(Request $request,Member $member) //for updating member info
{
request()->validate([
'name' => 'required',
'email' => 'required',
'address'=>'required',
'phone'=>'required',
]);
$member->update($request->all());
return redirect()->route('members.index')
->with('success','Member updated successfully');
}
我只需要提前为operations.thank你们两个做一个功能
定义你的路线
Route::post('createanddelete/{id?}','YourController@yourFunction');
通过给予? in route 表示可选参数
在你的控制器中
public function yourFunction($id = null, Request $request)
{
request()->validate([
'name' => 'required',
'email' => 'required',
'address'=>'required',
'phone'=>'required',
]);
// write update code
if($id)
{
$member = Member::find($id);
if($member)
{
$member->update($request->all());
return redirect()->route('members.index')
->with('success','Member updated successfully');
}
}
// write create code
else
{
Member::create($request->all());
return redirect()->route('members.index')
->with('success','Member created successfully');
}
}
在视图提供者中相应的表单动作。
希望这会有所帮助,但您应该为模块化代码编写单独的函数