Laravel + Vue无法将数据保存到我的数据库

时间:2018-12-25 09:30:38

标签: php laravel vue.js

我正在尝试将数据从vue组件保存到数据库,但是在我的开发工具上只会显示500(内部服务器错误)。

我一步一步地删除了我的代码,以查看失败的地方一切正常,直到我添加了save();对我的数据库起作用

Vue组件

<template>
<form @submit.prevent="submit">
    <div class="form-group">

        <input type="text" class="form-control" name="name" id="name" v-model="fields.name" />
        <div v-if="errors && errors.name" class="text-danger">{{ errors.name[0] }}</div>
    </div>

    <div class="form-group">

        <input type="text" class="form-control" name="post" id="post" v-model="fields.post" />
        <div v-if="errors && errors.post" class="text-danger">{{ errors.post[0] }}</div>
    </div>



    <button type="submit" class="btn btn-primary">Send message</button>

    <div v-if="success" class="alert alert-success mt-3">
        Message sent!
    </div>
</form>

Vue组件脚本

<script>
export default {
  data() {
    return {
      fields: {},
      errors: {},
      success: false,
      loaded: true,
    }
  },
  methods: {
    submit() {
  if (this.loaded) {
    this.loaded = false;
    this.success = false;
    this.errors = {};
    axios.post('/adminquickannc', this.fields).then(response => {
      this.fields = {}; //Clear input fields.
      this.loaded = true;
      this.success = true;
    }).catch(error => {
      this.loaded = true;
      if (error.response.status === 422) {
        this.errors = error.response.data.errors || {};
      }
    });
  }
    },
  },
}
</script>

控制器 //我的控制器代码将其保存在数据库中

 use App\Post;
 use Illuminate\Http\Request;  

 public function store(Request $request)
{
      // Validation 
      $this->validate($request, [
          'name' => 'required',
          'post' => 'required|max:500|min:10'
  ]);

  // Variables we needed
  $name = $request->input('name');
  $post = $request->input('post');


  // Saving the post to database 
  $post = new Post();
  $post->name = $name;
  $post->post = $post;
  $post->save();


}

我希望此代码将数据保存到我的数据库中,这种保存方法安全吗?你们能给我提供工具,在哪里可以更具体地指出这样的错误,以便我可以了解失败的地方吗?谢谢你们!

0 个答案:

没有答案