gpt4 book ai didi

php - Laravel 删除和更新

转载 作者:行者123 更新时间:2023-12-02 20:19:49 26 4
gpt4 key购买 nike

我创建了一个 Post 和一个 Get 请求,如下所示:

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

所以我可以读取所有数据并创建一些新数据,但现在我想删除它们和/或更新它们,我找不到真正有用的东西,我将非常感谢您的帮助!

最佳答案

为了更新,您可以定义这样的路线

Route::put('customer/{customer}' , 'CustomerController@update');

您应该在表单中定义一个 method_field('put')并在 Controller 中创建一个名为 update 的函数

pulblic function update (Request $request , Customer $customer){
// validate you inputs
$validatedData = $request->validate([
// validation rules goes here
]);
// better approach would be using form requests
$customer->update($validatedData);
}

要更新您想要更新的字段,您必须将它们添加到客户模型中的 $fillable 数组中,请阅读 [批量分配] 1在 Laravel 中,这是因为默认情况下所有 Eloquent 模型都受到保护以防止批量分配。

删除:路线:

Route::delete('customer/{customer} , 'CustomerController@destroy');

Controller 中删除客户的功能

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>

熟悉路线和 Controller 后,您可以受益于使用

Route::resource('customer','CustomerController');

这将为您创建所有必要的路线

已编辑:请注意 route 的{customer}应该是您要更新或删除的客户的ID

更新:传递 request->all() 来更新或创建并不是一个好的做法,所以我用经过验证的数据更改了它,这里是 laravel Form Request Validation 的链接

关于php - Laravel 删除和更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51709151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com