Почему не срабатывает метод update в контроллере на laravel?

update(id, params) {
                console.log(params); // отправляются
                ajax.put(`/admin/sites/update/${id}`,params).then(
                    (response) => {
                        console.log(response);
                        console.log('Сохранено')
                    },
                    (err) => {
                        console.log(err.response);
                    }
                );
            },


// приходит success но не сохраняет    
public function update($id, Request $request)
    {
        $site = Site::find($id);
        $site -> fill($request->all());
        return response()->json([
            'success' => $site->save(),
        ]);
    }

//  Integrity constraint violation: 1062 Duplicate entry
// вроде понятно с чем связана ошибка решил её способом выше но не сохраняются изменения
public function update(Request $request, Site $site)
    {
        $site -> fill($request->all());
        return response()->json([
            'success' => $site->save(),
        ]);
    }
  • Вопрос задан
  • 384 просмотра
Решения вопроса 1
xpert13
@xpert13
Full Stack Developer
Чтобы поля изменялись через fill они должны быть в массиве $fillable. Документация
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы