sql - SQLSTATE [22007]:日期时间格式无效:1292 日期值不正确:laravel 中“日期”列的“1399/06/31”
问题描述
1399/06/31
使用 laravel插入有问题SQL
,实际上,如果月份的日期是另一个数字31
,则没有任何问题。
注意:- 我使用波斯历,而不是公历。
public function create(Request $request)
{
$transferMoney = new TransferMoney();
$transferMoney->sender_id = Input::get('sender_account_id');
$transferMoney->receiver_id = Input::get('receiver_account_id');
$transferMoney->payment_amount = Input::get('payment_amount');
$transferMoney->rate = Input::get('rate');
$transferMoney->date = Input::get('pr_date');
$transferMoney->description = Input::get('transfer_description');
$transferMoney->save();
}
解决方案
我认为除了常规的公历日期之外,您不能将任何格式保存到 SQL 表中。您可以做的是另存为公历日期,并在检索时使用访问器直接检索为波斯日期。
$transferMoney->date = Carbon::parse(Input::get('pr_date'))->locale('UTC+6');
我找到了一个转换波斯时间的包,我不知道你是否需要它。https://github.com/morilog/jalali
导入后,您可以在 TransferMoney.php 中使用此格式或您想要的格式:
public function getYourDateFieldAttribute($value)
{
return Jalalian::fromDateTime($value);
}
推荐阅读
- javascript - 静态导入三.js 入门报错
- python - 以日期为 X 轴的 Seaborn 条形图
- c - 初学者电话簿
- javascript - 在 Javascript 中聚合这些数据的更实用或更简洁的方式?
- html - Firebase 身份验证后,Angular Navigation 未路由到 Ionic 页面
- docker - ArangoDB 性能
- java - 使用 Maven 的 JavaDoc 的 Asciidoclet
- python - Python中的异步生成器函数
- java - 如何使用 thymleaf 填充下拉菜单?
- javascript - Why Is This "OnScroll" JavaScript Function Not Being Called?