В проекте Laravel у менять есть таблица Subscriptions в которой есть следующие данные:
id ; user_id ; end_date ; status ; creation_date
По кнопке продлить подписку необходимо прибавить месяц к end_date, снять деньги со счета пользователя и заменить эту запись в дб.
Вот функция этой кнопки:
public function buysubs(Request $request)
{
$amount = 100;
$user_id = Auth::id();
$permission = Permission::where('user_id', $user_id)->get()->first();
$user_balance = Balance::where('user_id', $user_id)->get()->first();
$Subscriptions = Subscription::where('user_id', $user_id)->get()->first();
$enddate = Subscription::where('user_id', $user_id)->first('end_date');
if (isset($user_balance->balance) && $user_balance->balance < '100') {
echo 'нет деняг';
}
if (!$Subscriptions) //отображается кнопка "купить подписку"
{
$Subscriptions = new Subscription();
$Subscriptions->user_id = $user_id;
$Subscriptions->creation_date = date("Y-m-d H:i:s");
$Subscriptions->end_date = date("Y-m-d H:i:s", strtotime("+1 month"));
$Subscriptions->status = '1';
$Subscriptions->save();
} // покупка подписки вроде работает
else ($Subscriptions->end_date > date("Y-m-d H:i:s"))
{
//???
$enddate = //???
$Subscriptions->status = '1';
$Subscriptions->save();
$enddate->save();
}
$user_balance->balance -= $amount;
$transaction = Transaction::create ([
'user_id' => $user_id,
'amount' => '-100',
'description' => 'Подписка на курс'
]);
$user_balance->save();
return view('dashboard', ['Subscriptions' => $Subscriptions], ['permission' => $permission]);
}
Как написать конструкцию else, чтобы прибавить месяц к уже существующей записи в БД при просроченной дате и дате еще не подошедшей к окончанию?