Задать вопрос
@ivanzuk761
Изучаю PHP

Как правильно обнавить данные laravel?

Ребят можете подсказать как правильно обнавить данные в ларавел
я думал так но код не работает можете исправить меня)
public function update(Request $request,$id){
        $user = Crud::find($id);

        $update = $user->update([
           'name' => $request->input('name'),
            'email' => $request->input('email')
        ]);
        $user->save();
        return redirect('/')->with('update', 'Вы успешно Изменили Данные');

    }
  • Вопрос задан
  • 1112 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 3
pLavrenov
@pLavrenov
Разработка сайтов
1) update сам вызывает save (save надо убрать)
2) Можно использовать магию и итоговый вариант будет таким

public function update(Request $request, Crud $crud){
        $crud->update([
            'name' => $request->get('name'),
            'email' => $request->get('email')
        ]);
        return redirect('/')->with('update', 'Вы успешно Изменили Данные');
    }


Важный момент:
- переменная $crud должна быть названа как в роуте
- использовать валидацию
Ответ написан
Комментировать
@kandrash
Кратко о себе
Ставлю доллар что в массиве fillable не прописаны name и email. Оттого они и не обновляются. Ну и как вам выше указали - вызов save тут лишний. Update достаточно.
Ответ написан
Fernus
@Fernus
Техник - Механик :)
Если банально и без всяких проверок, то...
public function update(Request $request,$id){
        $user = Crud::find($id);
        if($user) {
           $user->name = $request->input('name');
           $user->email = $request->input('email');
           $user->save();
        }

        return redirect('/')->with('update', 'Вы успешно Изменили Данные');
    }


У тебя люди/кони смешались...доку повнимательнее глянь...

Исходя из твоего варианта, то наверное так:

public function update(Request $request,$id){

        $update = Crud::where('id', $id)->update([
           'name' => $request->input('name'),
            'email' => $request->input('email')
        ]);

        return redirect('/')->with('update', 'Вы успешно Изменили Данные');
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы