我想从选择选项表中输入数据到数据库。我使用了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
不能为控制器和模型获取价值。
答案 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.electionIdSelected
至electionIdSelected: this.electionIdSelected.text