1
我有一个插入有关订单的详细信息的问题。雄辩laravel模型空id编号
型号:
class Order extends Model
{
protected $fillable = ['user_id','name','surname','fathers_name','phone_number','city','post_office','comment'];
public function user()
{
return $this->belongsTo('App\User');
}
public function orderDetails()
{
return $this->hasMany('App\OrderDetails');
}
}
class OrderDetails extends Model
{
protected $fillable = ['order_id','product_id','amount'];
public function order()
{
return $this->belongsTo('App\Order');
}
public function product()
{
return $this->hasMany('App\Product');
}
}
表:
订单: ID user_ID的 p_number 城市 状态 ...
个ORDER_DETAILS: ID ORDER_ID PROD_ID 量 ...
控制器:
$data = $request->except('_token','submit');
$为了=新订单(); $ order-> create($ data);
$order_details = new OrderDetails();
$cart_content = Cart::content();
$order_content = [];
foreach($cart_content as $key=>$cart_item) {
$order_content[$key]['order_id'] = $order->id;
$order_content[$key]['id'] = $cart_item->id;
$order_content[$key]['qty'] = $cart_item->qty;
$order_content[$key]['price'] = $cart_item->price;
}
dd($order_content);
/*
foreach($order_content as $order_item)
{
$order_details->create($order_item);
}
*/
所以,当我打印$ order_content,即时得到“ORDER_ID”空,我应该如何正确地得到以填补其ORDER_DETAILS id字段?
我到底应该得到这样的事情:
Orders:
1
1
+12345678
NY
processing
...
Order_details:
1
1
2
5
-----------
2
1
3
4
-----------
3
1
8
2
-----------
Im做它在我代码,看上面,我做了大胆 – Batmannn
@Batmannn不,你正在做'$ order = new Order(); $ order-> create($ data);'你的代码会在'create()'后面返回一个空模型。我的答案中的代码将返回创建的模型。正如我在另一个问题中所说的,你的架构不好。您应该了解多对多关系,并将其用于Order和Model产品模型,并去掉OrderDetails模型。 –