首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存多个项目多对多Laravel 6

保存多个项目多对多Laravel 6
EN

Stack Overflow用户
提问于 2020-01-10 15:06:03
回答 1查看 50关注 0票数 0

我正在尝试将多个Product保存到Purchase中,将Vuejs用于前端,Laravel用于Backend,这是它们之间的many-to-many关系。

In My Vuejs

代码语言:javascript
复制
   <tr class="tablePurchase--td" v-for="(item, index) in items">
        <td>{{item.name}}</td>
        <td>{{item.code}}</td>
        <td>
            <input type="number" class="table-quantity" v-model="items[index].quantity">
        </td>
        <td>
            <input type="number" class="table-quantity" v-model="items[index].unit_price" placeholder="0.00">
        </td>
        <td>
            <input type="number" class="table-quantity" v-model="items[index].discount" placeholder="0.00">
        </td>
        <td>
            <v-btn small color="red" outlined @click="removeItem(index)">
                <v-icon>mdi-delete</v-icon>
            </v-btn>
       </td>
    </tr>

In my Controller

代码语言:javascript
复制
    public funtion store(Request $request) {
        ....

        foreach($purchase->products as $item) {
            $purchase->products()->attach($product_id, [
                'unit_price' => $item['unit_price'],
                'quantity' => $item['quantity'],
                'discount' => $item['discount'],
            ]);
        }
    }

但是,它得到了空数组...我甚至尝试过dd($request->items)和它的返回null

我将感谢你所有的帮助?谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-01-10 15:39:47

您应该将所有输入命名为items[]

代码语言:javascript
复制
//...
<input type="number" class="table-quantity" name="items[]" v-model="items[index].unit_price" placeholder="0.00">
//...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59676908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档