插入选择选项表Laravel-Vue

时间:2018-12-24 08:05:18

标签: php laravel vue.js

我想从选择选项表中输入数据到数据库。我使用了Laravel和Vue。 这是我的表格

<div class="form-group">
   <label for="exampleFormControlSelect1">Pemilihan*</label>
   <select class="form-control" id="electionId" name="electionId" v-model="electionIdSelected">
     <option v-for="option in electionIdOptions" v-bind:value="option.value">{{option.text}}</option>
   </select>
</div>

这是我的Vue:

data() {
          return{
                 electionIdSelected:'Please choose one',
                 electionIdOptions:[
                   {text: 'Presiden', value: 'ppwp'},
                   {text: 'DPRD Provinsi', value: 'pdpr'}
                 ],
           methods: {
            onSubmit() {
                axios.post('/psu/list/store', {
                   electionIdSelected: this.electionIdSelected,
                }).then(response => {
                   this.electionIdSelected = ''
             });
            }

这是我在Laravel中的控制器:

public function store(){
      $psu = new Psu;

      $psu->jenis_pemilihan = request('electionId');

      $psu->save();
    }

请帮助我将表单选择选项插入数据库。我仍然有错误。 这是一条错误消息:

null value in column "jenis_pemilihan" violates not-null constraint

不能为控制器和模型获取价值。

2 个答案:

答案 0 :(得分:0)

public function store(Request $request){
  $psu = new Psu;

  $psu->jenis_pemilihan = $request->input('electionIdSelected');

  $psu->save();
}

我认为您的控制器中的lectionId为空,因为您从未在axios帖子中设置过这样的键吗?

答案 1 :(得分:0)

当您将option.text设置为模型时,您可以尝试发送选择框模型为lectionIdSelected的lectionIdSelected.text,然后您的值看起来像electionIdSelected.text

只需替换此行: electionIdSelected: this.electionIdSelectedelectionIdSelected: this.electionIdSelected.text