我创建了一个帖子和一个获取请求,如下所示:
public function getAllCustomer()
{
$customer = \App\model\Customer::get();
return $view = View::make('test')->with('customer', $customer);
}
public function addNewCustomer(Request $request)
{
$validatedData = $request->validate([
'Title' => 'required',
'Name' => 'required|max:255'
]);
return \app\model\Customer::create($request->all());
}
所以我可以读取所有数据并创建一些新数据,但是现在我想删除它们和/或更新它们,我找不到真正有用的东西,我将非常感谢您的帮助!
答案 0 :(得分:3)
要进行更新,您可以定义这样的路线
Route::put('customer/{customer}' , 'CustomerController@update');
您应该在表单中定义method_field('put') 并在控制器中创建一个名为update的功能
pulblic function update (Request $request , Customer $customer){
$customer->update($request->all());
}
要更新要更新的字段,必须将它们添加到客户模型中的$ fillable数组中,了解laravel中的Mass Assignment,并且因为所有Eloquent模型都受到保护,可以防止批量分配默认。
用于删除: 路线:
Route::delete('customer/{customer} , 'CustomerController@destroy');
在控制器中删除客户的功能
public function destroy (Customer $customer){
$customer->delete();
}
并将method_field('delete')添加到您的表单
表单示例:
<form action="{{url("customer/{$customer->id}")}}"
method="post">
{{method_field('delete')}}
//Html Elements Here
</form>
熟悉路线和控制器后,您可以使用
Route::resource('customer','CustomerController');
这将为您创建所有必要的路线
已编辑:请注意,路线中的{customer}应该是您要更新或删除的客户的ID
答案 1 :(得分:0)
要删除您在路线中所做的事
Route::delete('customer/{customerId}', 'CustomerController@delete')
在控制器中
public function delete(Request $request, $customerId)
{
$user = $request->user();
$customer= $user->customers()->find($customerId);
$customer->delete();
return back();
}
要在路线中进行更新
Route::patch('customers/{customerId}', 'CustomerController@update')
在控制器中
public function update(Request $request, $customerId)
{
$user = $request->user();
$customer= $user->customers()->find($customerId);
$customer->update($request->all());
return back();
}
中的更多信息