Сохранить несколько предметов многие-ко-многим Laravel 6 - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь сохранить несколько Product в Purchase, используя Vuejs для внешнего интерфейса и Laravel для Backend, и это соотношение many-to-many между ними.

In My Vuejs

   <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


    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

Я буду признателен за вашу помощь? Спасибо

1 Ответ

1 голос
/ 10 января 2020

Вы должны назвать все свои входные данные как items[]

//...
<input type="number" class="table-quantity" name="items[]" v-model="items[index].unit_price" placeholder="0.00">
//...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...