При использовании запроса формы привязка модели маршрута не выполняется - PullRequest
0 голосов
/ 12 февраля 2020

Привязка модели маршрута завершается неудачно, когда я использую FormRequest для проверки запроса. Чтобы быть более точным c, когда я пытаюсь получить доступ к параметрам в запросе формы и выдаю следующую ошибку:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'name:\"moniersa\"' in 'where clause' 
(SQL: select count(*) as aggregate from `users` where `email` = a.monier2130@gmail.com and 
`name:\"moniersa\"` <> {\"id\":5 and `email:\"a`.`monier2130@gmail`.`com\"` = 
email_verified_at:null and `admin:1` = verified:0 and `created_at:\"2020-02-11 22:33:33\"` = 
updated_at:\"2020-02-11 23:17:40\"})

Код метода обновления:

public function update(User $user, UpdateUserRequest $request)
    {
        $data = $this->extract_data($request);
        $user->update($data);
        return response()->json(['data' => $user], 200);
    }

Код функции правил в запросе на обновление:

public function rules()
    {
        return [
            'name' => 'required|string|min:3|max:40',
            'email' => 'required|email|unique:users,email,' . $this->user,
            'password' => 'required|string|min:9|confirmed'
        ];
    }

Всякий раз, когда я удаляю подсказку User из метода обновления или $this->user из файла запроса на обновление, все работает нормально. Любая подсказка о том, в чем проблема?

1 Ответ

2 голосов
/ 12 февраля 2020

Привязка модели маршрута означает, что вам больше не нужно использовать $user = User::findOrFail($user);,

public function update(User $user, UpdateUserRequest $request)
    {

        $user = User::findOrFail($user);// this line is redundant, you can remove it.
        $data = $this->extract_data($request);
        $user->update($data);
        return response()->json(['data' => $user], 200);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...