如何更新幼稚收银台的Ends_At字段 [英] How to update ends_at field of laravel cashier

查看:36
本文介绍了如何更新幼稚收银台的Ends_At字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要更新订阅表的ends_at列。当我使用

Carbon::now()

完全更新,但何时使用

Carbon::now()->addCenturies(5);

我是人脸错误

SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2520-08-07 11:39:13' for column 'ends_at' at row 1 (SQL: update `subscriptions` set `ends_at` = 2520-08-07 11:39:13, `subscriptions`.`updated_at` = 2020-08-07 11:39:13 where `id` = 1)

我想要终身订阅一次,因为我想再加上几个世纪。Kinldy告诉我解决方案我的控制器代码是

  $subscription = $user->newSubscription('default', $plan->plan_id)->create($request->paymentMethod, [ 'email' => $user->email ]); 
                $subscription->ends_at = Carbon::now()->addCenturies(5);
                $subscription->save();

推荐答案

TIMESTAMP数据类型用于同时包含日期和时间部分的值。TIMESTAMP的范围是1970-01-01 00:00:01 UTC2038-01-19 03:14:07 UTC。您给定的年份是2520,并且您的MySQL可以处理最大年份2038
将迁移时间戳更改为dataTime格式为:

$table->timestamp('ends_at');

$table->dateTime('ends_at');

这篇关于如何更新幼稚收银台的Ends_At字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆