Я новичок ie до laravel и в настоящее время разрабатываю небольшое приложение как часть моего обучения. Я застрял, и мне нужна помощь.
БД выглядит так
USER
- Id
- Name
PRODUCT
- id
- Name
- quantity
- price
PRODUCT_USER
- id
- user_id
- product_id
- quantity
На INSERT
новой PRODUCT_USER
записи - мне удалось проверить / проверить количество введено не больше, чем количество от продуктов, это работает нормально.
Моя борьба :
При обновлении PRODUCT_USER
- если новое значение количества больше чем старое значение количества, это означает, что я добавляю продукты в текущее значение количества, обновите (вычитая) количество (из таблицы продуктов), если продукты все еще доступны.
Если новое значение количества меньше, чем старое количество означает, что я возвращаю некоторые продукты, которые будут назначены другому пользователю. Добавьте к количеству (из таблицы продуктов) новое значение количества.
ProductUserController
public function update(Request $request, $id){
$productUser = ProductUser::where('id',$id)->first();
$product = Product::where('id',$productUser->product_id)->first();
if($product->quantity >= $request->get('quantity'))
{
$product->quantity= $product->quantity + $productUser->quantity - $request->get('quantity');
$product->update();
$productUser->quantity = $request->get('quantity');
$productUser->update();
return redirect()->route('allocations.index')->with('success','Updated');
}
return redirect()->route('allocations.index')->with('message','Not enough qty'); }