Ошибка 500 при попытке сохранить данные из Vue.JS от Laravel - PullRequest
0 голосов
/ 03 июня 2019

У меня проблема с моим кодом. Когда я пытаюсь сохранить данные, используя Vue.JS и Laravel, я получаю ошибку 500 в консоли. Я застрял на нем на 6 часов.

Контроллер - DashboardAdvantagesController.php:

  public function store(Request $request)
  {
      $request->validate([
          'icon'=> 'required',
          'title'=> 'required'
      ]);

      $advantage = $request->HomepageAdvantages()->create([
          'icon'=> $request->icon,
          'title'=> $request->title
      ]);

      return response()->json([
         'advantage'=> $advantage,
         'message'=> 'task has been created!'
      ]);

  }

Модель - HomepageAdvantages


class HomepageAdvantages extends Model
{
  protected $fillable = [
      'icon', 'title', 'text',
  ];
}

API-маршрут

Route::post('/advantages/store', 'DashboardAdvantagesController@store');

Vue Component

  createAdvantage(){

   console.log(this.advantage.icon);
   console.log(this.advantage.title);


   axios.post('http://127.0.0.1:8000/api/advantages/store', {icon: this.advantage.icon, 
    title: this.advantage.title})

     .then(response=>{
     this.advantages.push(response.data.advantage);

                })

              .catch(error=>{

                console.log(error);

                });
                console.log(response.data.advantage);
            },

Моя ошибка:

Не удалось загрузить ресурс: сервер ответил со статусом 500 (Внутренняя ошибка сервера)

:8000/api/advantages/store:1 Failed to load resource: the server responded with a status of 500 (Internal Server Error)
2app.js:267 POST http://127.0.0.1:8000/api/advantages/store 500 (Internal Server Error)
dispatchXhrRequest @ app.js:267
xhrAdapter @ app.js:118
dispatchRequest @ app.js:706
Promise.then (async)
request @ app.js:513
Axios.<computed> @ app.js:533
wrap @ app.js:966
createTask @ app.js:1773
invokeWithErrorHandling @ app.js:9448
invoker @ app.js:9773
original._wrapper @ app.js:15126

1 Ответ

0 голосов
/ 03 июня 2019
$request->HomepageAdvantages()

Я не уверен, как вы пришли к этому, так как он будет работать, только если у вас есть макрос, зарегистрированный в классе Request.Если это так, не обращайте внимания на этот комментарий.

В противном случае вам необходимо явно вызвать модель, используя HomepageAdvantages::create().

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