Как обновить запись базы данных в Laravel - PullRequest
0 голосов
/ 18 февраля 2020

я использую этот маршрут ==> Route :: put ('update / {id}', 'testcontroller@update');

И я использую эту функцию

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

    $input=[
        'name' => $request->name,
        'email' => $request->email,
        'password' => $request->password,
    ];
    $update = DB::table('users')->where('id', $id)->update($input);
    if ($update) {
        dd('updated');
    }
    else{
        dd('error');

   }
}

но я вижу ошибку.

Ответы [ 2 ]

0 голосов
/ 18 февраля 2020

Ваш код выглядит нормально.

Но я думаю, что вы обновляете те же значения. Если вы попытаетесь обновить с теми же значениями, он вернет 0. в противном случае 1.

Поэтому я предлагаю вам проверить, так ли это.

0 голосов
/ 18 февраля 2020

Попробуйте

$this->validate($request, [
    'user_name' => 'required|max:255',
    'email' => 'required',
    'password' => 'required|min:8'
]);
    $user = User::findOrFail($id);
    $input = $request->all();
    $user->fill($input)->save();

Или попробуйте

$this->validate($request, [
    'user_name' => 'required|max:255',
    'email' => 'required',
    'password' => 'required|min:8'
]);
    $user = User::findOrFail($id);
    $user->user_name = $request->input('user_name');
    $user->email = $request->input('email');
    $user->password = $request->input('password');
    $user->save();

Оба способа верны для обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...