Разница между обновлением и редактированием в контроллере - laravel - PullRequest
0 голосов
/ 05 июня 2019

В моей таблице есть опция редактирования.Строка может быть обновлена ​​и сохранена в базе данных.Пока я пытался реализовать эту опцию, я столкнулся с неопределенностью.Что мне делать с данными из моей отредактированной строки, когда они поступают на мой контроллер?Мне не ясно, нужно ли мне использовать редактирование, обновление или объединять их обоих?Нужно ли редактировать, чтобы найти идентификатор строки, которую нужно обновить?

Я использую следующий код в методах для отправки данных на мой контроллер

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

В моем контроллере:Я думаю, что я должен найти идентификатор.Я почти уверен, что путаю разные методы вместе.Спасибо за любой вклад.

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

Ответы [ 2 ]

1 голос
/ 05 июня 2019

разница значительна.Edit - для отображения формы для применения изменений, а Update - для их установки на сервер.

Редактирование - через GET http Обновление - через PUT http

0 голосов
/ 06 июня 2019

В контроллере ресурсов Laravel вы можете видеть эти две функции «редактировать» и «обновлять»

Например, у вас есть маршрут ресурса «post»

Редактировать:

  • вы можете вернуть форму редактирования с ранее сохраненными данными
  • , которую вы можете вызвать, используя метод GET, и URL будет "/ post / {id} / edit", а маршрут будет "post.edit".«

обновление:

  • вы можете отправить свои данные, которые вы хотите обновить
  • вы можете позвонить, используя метод PUT / PATCH, и URL будет»/ post / {id} "и маршрут будет" post.update "

Для получения дополнительной информации см. laravel.com -> контроллеры

...