Laravel 5.2多对多用于保存

时间:2016-06-05 04:34:30

标签: laravel

我遇到很多这方面的问题。我的代码是

$purchase_order = PurchaseOrder::find(1);
$item = Item::find(1);
$purchase_order->items()->save($item);

这个效果很好。我有一个它创建的数据透视表名称items_purchase_order item_id 1和purchase_order_id 1

问题是关于如何添加它的pivotColumn。

$array = [
  'qty' => 4,
  'unit_price' => '23'
];

我的PurchaseOrder模型

return $this->belongsToMany('App\Item', 'items_purchase_orders', 'purchase_order_id', 'item_id')->withPivot('qty','unit_price');

我在这里尝试过其他例子,但无济于事。喜欢这个

$purchase_order = PurchaseOrder::find(1);
$item = new Item($array);
$purchase_order->items()->save($item);

这变得模棱两可,因为没有项目ID。物料已经创建,采购订单是我要创建的。我用物品模型尝试了反向的。

return $this->belongsToMany('App\PurchaseOrder', 'items_purchase_orders', 'item_id', 'purchase_order_id')->withPivot('qty','unit_price');

 //pivot table added with purchase_order columns
 $array = [
  'po_number' => '454jk', // I minimized it to one column. Purchase Orders Column
  'qty' => 4, // Pivot Column
  'unit_price' => '23' // Pivot Column
];

$item = Item::find(1);
$purchase_order= new PurchaseOrder($array);
$item->purchaseOrder()->save($purchase_order);

仍然不起作用。

我想我发现了这个1 $ shop-> products() - > attach(1,['products_amount'=> 100,'price'=> 49.99]);是的,它的工作!参考http://laraveldaily.com/pivot-tables-and-many-to-many-relationships/

0 个答案:

没有答案