【问题标题】:Laravel, Vue.js Insert ArrayLaravel,Vue.js 插入数组
【发布时间】:2020-09-03 19:46:47
【问题描述】:

我有一个数组和另一个表的 id。我需要每个数组项成为新记录。这些记录中的每一个都需要包含数组中的一项和另一个表的 id。如何让 store 函数循环遍历数组并每次获取另一个表 id 并插入数据库?

观点

<tablv>
     <thead>
        <tr>
           <td>MFG</td>
        </tr>
      </thead>
      <tbody>
         <tr v-for="hp in ordered_handpieces">
             <td>
                <input type="checkbox" :value="hp.id" v-model="hp_id"><span>{{hp.mfg.mfg_name}}</span>
             </td>
         </tr>
      </tbody>
</table>

脚本

        data: function() {
                return {
                    hp_wo_id:'',
                    hp_id:[],
                    }
            },

        methods: {
               onSubmit(){
                 axios.post('/hp_wo_unit', this.$data)   
                
                 }    
            
            }
       

控制器

public function store(Request $request){
        foreach (request(['hp_id']) as $hp_id) {
            hp_wo_unit::create(request(['hp_wo_id'],$hp_id));
        }
    return $request;
}

【问题讨论】:

    标签: laravel vue.js axios


    【解决方案1】:

    既然你说他们每一个都是一个新的记录,这里有一个简单的方法来表达你所说的:

    foreach (request(['hp_id']) as $item) {
        hp_wo_unit::create(request(['hp_wo_id'],$item));
        // Or 
        $hp = new MODEL();
        $hp->hp_wo_id = request(['hp_wo_id']);
        $hp->hp_id = $item;
        $hp-save();
        
    }
    

    【讨论】:

    • 我添加了更多的视图。请看上面。根据您的建议,无论数组长度如何,我都会得到一条记录,并且数组值没有插入到数据库中。
    • 是的。似乎它应该工作,但它没有。无论数组长度如何,我都会得到一条记录,并且数组值没有插入到数据库中。我添加了视图,以防万一这可能是问题所在。谢谢!
    • @T.A.return $request 并告诉我回复。 idk 关于你的观点,因为它看起来很好。让我看看回复。
    • 很抱歉再问一个问题,但我不确定在哪里查看回复。如何在 Vue.js 应用程序中查看响应?
    • 打开你的页面,然后使用ctrl+i或检查元素,然后进入网络选项卡,你可以从那里看到网络调用。当您点击提交按钮时,应添加 1 个请求调用,单击它并转到响应选项卡。
    猜你喜欢
    • 2018-01-27
    • 2021-04-03
    • 2018-10-22
    • 2019-03-16
    • 1970-01-01
    • 2016-05-08
    • 2015-11-06
    • 1970-01-01
    • 2021-07-25
    相关资源
    最近更新 更多