Здравствуйте. В приведенном ниже коде, при нажатии на кнопку должно обновляться значение date_subscription_end. Но, по итогу date_subscription принимает нулевое значение(хранится в базе в формате int). Задав новые значения проверял на каждом этапе почему так, и оказалось что при сохранении он стирает дату, почему такое возможно?
public function actionSubscription(){
$jd = Yii::$app->request->post();
$jd = (object)$jd;
Yii::$app->user->setIdentity(\common\models\User::findOne(['id'=>$jd->data]));
$userSettings = UserSettings::findOne(["user_id" => $jd->data]);
if ($userSettings->subscription == 1){
$userSettings->subscription = 0;
echo "date_subscription:".$userSettings->date_subscription."\n";
echo "date_subscription_end:".$userSettings->date_subscription_end."\n";
} else {
$userSettings->subscription = 1;
// $userSettings->date_subscription = date('Y-m-01');
echo "date_subscription:".$userSettings->date_subscription."\n";
$userSettings->date_subscription_end=date('Y-m-d', strtotime('+3 month'));
echo "date_subscription:".$userSettings->date_subscription."\n";
echo "date_subscription_end:".$userSettings->date_subscription_end."\n";
}
if ($userSettings->save()){
echo ".$userSettings->date_subscription." user_id: ".$userSettings->user_id." use_smart_publish: ".$userSettings->subscription. " date_subscription:".$userSettings->date_subscription;
}
Вот сам запрос
$(document).ready(function(){
$(".user_subscription").click(function(){
if (confirm ("Продлить подписку?")) {
jQuery.ajax({
url: '/admin/clients/subscription',
type: 'post',
contentType: 'application/x-www-form-urlencoded',
async: true,
dataType: 'html',
data: {
data: this.name
},
success: function (data) {
alert(data);
},
error: function () {
alert("Error");
location.reload();
}
});
}
});
});