我目前正在尝试创建一个代码,其中将一个特定行的值插入到另一行的同一列中。
例如,我将产品类型A设置为ProdA,并且具有当前数量(curr_quantity),由于变质,ProdA将在1周后变成ProdB,这意味着ProdA的curr_quantity的值将被减去并添加到curr_quantity中关于ProdB,我有更新ProdA的curr_quantity的代码,但当前未添加到ProdB中。
我的控制器代码:
let location = mapView.userLocation
let region = MKCoordinateRegion(center: location.coordinate, span: MKCoordinateSpan(latitudeDelta: 50, longitudeDelta: 50))
mapView.setRegion(region, animated: true)
在我上面的代码中,它目前减去ProdA和ProdB的curr_quantity值并减去,但不是将值从一种产品“转移”到另一种产品。
编辑:在我当前的代码中,由于ProdB应该被“转移”到ProdC,所以两者都减去了。抱歉造成误会!
产品类型为FK,因此产品A在实际代码中为products_id == 1,B == 2和C == 3。
$decrease = Product::where('created_at', '<', Carbon::now()->subDays(7))
->where('curr_quantity', '>', 0)
->get();
foreach($decrease as $dec){
$sub = $dec->curr_quantity;
if($dec->products_id == 1){
$dec->update([
'curr_quantity' => $dec->curr_quantity - $sub
]);
}
if($dec->products_id == 2){
$dec->update([
'curr_quantity' => $dec->curr_quantity - $sub,
]);
}
7天后应该是这样:
[Sample]
ID | Product Type | curr_quantity
0 | Prod A | 70
1 | Prod B | 30
2 | Prod C | 10
3 | Prod A | 90
4 | Prod B | 05
5 | Prod C | 05
是否有办法更新ProdA的curr_quantity并将其传输到ProdB?