Order 模型hasmany items關系和專案belongstoa product;
專案表是: id - order_id - product_id -coupon_id
優惠券列可以為空,我想將優惠券_id 添加到discountable. discountableproducts 表中的屬性是布林值。
此代碼更新所有coupn_id:
$order->items()->update([
"coupen_id" => $coupen->id,
]);
在這里我可以得到這些產品:
$items = $order->items;
$discountable_products = $items->map(function ($item) {
return $item->product;
})->filter(function ($item) {
return $item->discount === 1;
});
另外,我試過:
if ($coupon) {
foreach ($order->items as $item) {
foreach ($item->product as $product)
if ($product->discount === 1) {
$order->items()->update([
"coupen_id" => $coupen->id,
]);
}
}
}
and it doesn't work.
我必須如何更新$order->items()->update([])可打折產品的coupon_id 。
uj5u.com熱心網友回復:
我認為你可以跳過回圈whereIn:
//Pluck product ids from collection
$product_ids_array = $discountable_products->pluck('id')->toArray();
//if $coupon->id is constant
$order->items()->whereIn('product_id', $product_ids_array )->update([
"coupen_id" => $coupon->id,
]);
uj5u.com熱心網友回復:
if ($coupon) {
foreach ($discountable_products as $product) {
$order->items()->where('product_id', $product->id)->update([
"coupen_id" => $coupon->id,
]);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/391970.html
標籤:拉拉维尔
下一篇:如何在注冊表中上傳和保存影像?
