我有一张Order
和Product
在我的模型中:
Order
可以有多个products
。
Product
属于order
以下是我的观点:
<input type="text" name="order_name">
<input type="text" name="product_name">
<input type="text" name="order_name">
<input type="text" name="product_name">
从上面的视图中,我有两种形式,用户可以通过两种输入添加两种形式。
现在我的问题是如何在控制器中编写逻辑?
我只知道用多个产品编写插入一个订单的方法。但我不知道如何使用相关产品插入多个订单。
答案 0 :(得分:0)
您应该使用数据透视表,因为它是两个表之间的多对多关系。
由于产品不仅属于一个订单而且属于许多订单且订单可以包含许多产品,因此数据透视表是最佳选择。
如果您不知道数据透视表的内容,请参阅此处:http://laraveldaily.com/pivot-tables-and-many-to-many-relationships/
他们在一个非常类似于你的例子中解释它。
答案 1 :(得分:0)
试试这个:
$order = new Order();
$order->order_name = $request->order_name;
if($order->save()) {
$product = new Product();
foreach($request->product_name as $product) {
$product->product_name = $product;
$product->order_id = $order->id;
$product->save();
}
}