0
私は注文するために2つのテーブルを持っています。私のorders
テーブルには、注文の主な詳細が含まれていて、私のorder_item
テーブルには、注文された各アイテムの詳細があります。これは同じのために私のコードです:オーダーオブジェクトがコレクションのマップ関数内で定義されていません
$order = new Order();
$order->user_id = $user->id;
if(!$order->save()){
return response()->json([
'message' => 'Unable to place your order. Try again.'
], 500);
}
$items = Cart_Item::where('user_id', $user->id)->get();
if($items->isEmpty()){
return response()->json([
'message' => 'Kindly add items to the cart before placing an order.'
], 500);
}
$items = $items->map(function ($item, $key) {
$product = Product::where('id', $item->product_id)->first();
$order_item = new Order_Item();
$order_item->order_id = $order->id;
$order_item->product_id = $item->product_id;
$order_item->quantity = $item->quantity;
$order_item->price = $product->GetPrice->price;
if(!$order_item->save()){
return response()->json([
'message' => 'Unable to place your order. Try again.'
], 500);
}
});
私はこれを実行しようとすると、私はライン$order_item->order_id = $order->id;
にこのエラーUndefined variable: order
を取得します。注文オブジェクトにアクセスできないのはなぜですか?
これは今日私の2番目の回答です。百万の感謝:) – JackSlayer94