如何从Vue MultiSelect插入数据库值

时间:2018-12-24 10:51:33

标签: php laravel vue.js

im使用我从此链接https://www.npmjs.com/package/vue-search-select安装的Vue MultiSelect创建多选表单

这是我的表格

<form @submit.prevent="add" enctype="multipart/form-data">
<multi-select v-model="single.artistname" :options="artist"
                        :selected-options="items"
                        placeholder="select item"
                        @select="onSelect">
                </multi-select>
</form>

这是我的数据返回

data() {
            return {
                files: [],
                errors: [],
                single: {},
                image: '',
                success: '',
                artist: [],
                searchText: '',
                items: [],
                lastSelectItem: {}
            }
        },

我的添加脚本

    add(e) {
    let formData = new FormData();
formData.append('artist[]', this.$data.single.artistname);
     axios.post('/select-files', formData, config)
                        .then((response) => {
                            alert('Data Single Successfull Inserted.')
                            //this.$router.push('/single/');
                        })
    }

如何使多选产生数组?

所以我可以通过控制器中的简单循环将数据输入数据库。

2 个答案:

答案 0 :(得分:1)

我对复选框做了同样的事情

<b-form-checkbox-group id="checkboxes2" name="flavour2" v-model="cat_id">
                  <b-col sm='6' v-for="item in categories" :key='item.id'>
                  <b-form-checkbox v-bind:value="item.id">{{ item.category }}</b-form-checkbox><br/>
                  <b>Details:</b> <span>{{ item.item_details }}</span>
                   </b-col>
                  </b-form-checkbox-group>

数据

data() {
           return {
        errors:[],
        cat_id:[],
    }
    }

最后

formData.append('cat_id', cat_id);

答案 1 :(得分:0)

多选后,我们得到一个数组,只需将该数组转换为json-data并将其存储在文本数据类型为table-field的数据库中

在访问期间,将相同的内容反向转换为数组并将其进一步处理

您可以使用json_encode()和json_decode()php函数