У меня проблемы с методом AXIOS PATCH - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь обновить свою базу данных, используя метод "axios patch".

Это мой код:

editClient(client) {
  let data = new FormData();
  data.append("name", this.client.name);
  data.append("email", this.client.email);
  data.append("phone", this.client.phone);
  data.append("_method", "PATCH");
  axios
    .post(`/api/clients/${client.id}`, data)
    .then(res => {
      resolve(res.data.client);
    })
    .catch(err => console.log(err.response.data));
},

Я пробовал этот код:

axios
    .patch(`/api/clients/${client.id}`, {
      name: this.client.name,
      phone: this.client.phone,
      email: this.client.email
    })
    .then(res => {
      resolve(res.data.client);
    })
    .catch(err => console.log(err.response.data));

Но это также не работает.

Я получаю ошибку

POST http://localhost:8000/api/clients/27 500 (Внутренняя ошибка сервера)

{message: "SQLSTATE[42S22]: Column not found: 1054 Unknown co…4 02:12:57"` = updated_at:"2019-05-24 02:12:57"})", exception: "Illuminate\Database\QueryException", file: "C:\xampp\htdocs\prs3\vendor\laravel\framework\src\Illuminate\Database\Connection.php", line: 664, trace: Array(60)}
exception: "Illuminate\Database\QueryException"
file: "C:\xampp\htdocs\prs3\vendor\laravel\framework\src\Illuminate\Database\Connection.php"
line: 664
message: "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'name:"2011"' in 'where clause'

И когда я попробовал этот код:

axios
    .patch(`/api/clients/${client.id}`, {
      data: this.client
    })
    .then(res => {
      resolve(res.data.client);
    })
    .catch(err => console.log(err.response.data));

Я получаю ошибку

app.js: 285 PATCH http://localhost:8000/api/clients/27 422 (не обрабатываетсяEntity)

{message: "The given data was invalid.", errors: {…}}
errors:
email: ["The email field is required."]
name: ["The name field is required."]
phone: ["The phone field is required."]
__proto__: Object
message: "The given data was invalid."

Я новичок в axios и vue.Я пытаюсь узнать, как построить и CRUD API, используя Axios.

Я пытался найти другие способы, и я не могу найти какой-либо.

Это мой контроллер:

public function update(Client $client) {
        $val = $client ? ','.$client : '';
        $client->update($this->_val($val));
        return back();
    }

    public function _val($val) {
        return request()->validate([
            'name' => ['required', 'min:2', 'unique:clients,name'.$val],
            'email' => ['required', 'email', 'unique:clients,email'.$val],
            'phone' => ['required', 'alpha_num'],
        ]);
    }

1 Ответ

0 голосов
/ 24 мая 2019

У вас с почтовым индексом в порядке. работает нормально Ошибка, которую вы получаете в поле сообщения: laarvel error column not found.

Полагаю, вы печатаете какое-то имя столбца при сохранении данных или по ошибке вводите неизвестный столбец, которого нет в таблице.

Пожалуйста, предоставьте боковой код Laravel, чтобы мы могли видеть, где вы столкнулись с ошибкой. Кстати от вас вопрос => Ваш axios.post code правильный

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