我是拉勒维尔的新人;
我使用的是数据打包器Jquery,它输出的格式如下:
2010年8月14日至9月
我通过以下代码将其保存在数据库中:
if ($request -> isMethod('post')) {
$data = $request -> all();
$course = new Courses;
$course -> start_date = $data['start_date'];
$course -> save();
return redirect('/admin/courses');
}但我发现了这个错误:
SQLSTATE22007:无效的日期时间格式: 1292个不正确的日期值:‘14-8月-2019年’,用于第1行的“start_date”列
发布于 2019-08-31 17:33:35
MySQL期望日期与2019-08-14一样,并且您正在试图保存14-Aug-2019。所以你得到了错误。您可以通过从前端发送精确的格式化日期或在后端解析它来解决这个问题。
从数据采集器发送Y-m-d值
$( "#date" ).datepicker({
dateFormat: 'yy-mm-dd',
}); 它会像2019-08-14一样发送日期,您可以直接保存它。
如果您想使用像14-Aug-2019这样的格式,那么您必须使用碳解析它,以便将它保存在数据库中。
use Carbon\Carbon;
$date = '14-Aug-2019';
$d = Carbon::parse($date)->format('Y-m-d'); //return date 2019-08-14将
start_date转换为模型中的日期。它将帮助您格式化它的任何您想要的。
class Courses extends Model
{
protected $dates = ['start_date'];
} 发布于 2019-08-31 17:19:41
希望对你会有帮助
if ($request -> isMethod('post')) {
$data = $request -> all();
$course = new Courses;
$course -> start_date = STR_TO_DATE($data['start_date'], '%d-%M-%Y');
$course -> save();
return redirect('/admin/courses');
}https://stackoverflow.com/questions/57740072
复制相似问题