我正在尝试附加数据数组。我有产品集合并尝试获取单个项目,并插入数据透视表。我不想把attach放在循环中,因为我想要一个db调用
if($cart->packages)
{
foreach( $cart->packages as $k => $v)
{
$collection = Collection::find($k)->products;
// dd($collection);
$records_array[] = $k;
$name[]['name'] = $v['name'];
$quantity[]['quantity'] = $v['quantity'];
}
// dd($records_array);
$order->collections()->attach($records_array, $name, $quantity);
}
答案 0 :(得分:1)
首先,您需要在名称空间之后和类名称之前的某些位置导入DB
外观:
use Illuminate\Support\Facades\DB;
您的控制器中添加了以下内容以进行测试:
$cart = array(
array('name' => 'some product 1', 'quantity' => '1'),
array('name' => 'some product 2', 'quantity' => '2'),
array('name' => 'some product 3', 'quantity' => '1'),
);
if ($cart)
{
DB::table('order')->insert($cart);
}
我已经在我的本地环境中测试过它。