在控制器中更新和编辑之间的区别 - laravel

Difference between update and editing in controller - laravel

我的 table 有编辑选项。可以更新一行并将其保存到数据库中。在尝试实施此选项时,我遇到了不确定性。当我编辑的行中的数据到达我的控制器时,我必须如何处理这些数据?我似乎不清楚我是否必须使用编辑、更新或将它们结合起来?我是否需要编辑以找到需要更新的行的 ID?

我在方法中使用以下代码将数据发送到我的控制器

                <template slot="actions" slot-scope="row">
                <span @click="updateProduct(row.item);" class="fas fa-pencil-alt green addPointer"></span>
            </template>


        updateProduct: async function(productData) {
            axios.post('/product/update', {
                productData: productData

                .catch(function(error){
                    console.log(error)
                })
            })
        }

在我的控制器中,我想我必须找到 id。我很确定我将不同的方法混淆在一起。感谢您的任何输入。

public function edit()
{
$product = Product::with('id')->find($id);
// do something with it
}
    public function update(Request, $request){
    $product->update([
        'name'  => $request->productData->Name,
        'description' => $request->productData->Descr
    ]);
    }

差别很大。 Edit 用于显示应用更改的表单,Update 用于将它们设置到服务器。

编辑通过 GET http 更新通过 PUT http

在Laravel资源控制器中你可以看到这两个函数"edit" & "update"

比如你有一条资源路由'post'

编辑:

  • 您可以 return 使用您之前存储的数据编辑表单
  • 您可以使用 GET 方法调用 & URL 将是“/post/{id}/edit”,路由将是 "post.edit"

更新:

  • 您可以提交您想要更新的数据
  • 您可以使用 PUT/PATCH 方法调用 & URL 将是“/post/{id}”,路由将是 "post.update"

更多信息请参考:laravel.com -> controllers