我很绝望 . 我正在尝试使用Angular向Laravel发送日期并将其保存在MySQL数据库中 . 但是,我只获得当前日期 . 我会发送更多信息 . 这些到达正确 . 只有在他选择“现在”的那一天 . 在数据库中,日期的类型为DateTime . Angular中的formobject也具有正确的日期,并且是Moment类型 .
我已经尝试了以下内容 . 我刚刚通过了日期(用_d) . 当然,我已交出完整的对象 . 而我目前的做法是单独交出日,月和年 .
我在Laravel中使用DateTime尝试了它,现在使用Carbon失败了 .
这是我的Laravel代码
public function postLend(Request $request)
{
$validator = Validator::make($request->all(), [
'itemid' => 'required|numeric',
'personid' => 'required|numeric',
'annotation' => 'required',
'startdate' => 'required|date',
'enddate' => 'required|date',
]);
if ($validator->fails()) {
return response()->json(['error'=>$validator->errors()], 401);
}
$lend = new Lend();
$lend->itemid = $request->input('itemid');
$lend->personid = $request->input('personid');
$lend->annotation = $request->input('annotation');
// $lend->startdate = $request->input('startdate');
// $lend->enddate = $request->input('enddate');
$startDOI = new \DateTime();
$lend->startdate = new Carbon($request->input('startyear'),$request->input('startmonth'),$request->input('startday'));
//var_dump($lend->startdate);
//$startimestamp = $lend->startdate->getTimestamp();
//var_dump($lend->enddate);
$lend->enddate = new Carbon($request->input('enddate'));
$lend->save();
return response()->json(['quote' => $lend], 201);
}
这是我的Angular Code
onChangeData(form: NgForm) {
console.log(this.datepicker._selected);
console.log(form.value.studentid);
this.lend.itemid = this.items.id;
this.lend.personid = form.value.studentid;
// this.lend.personid = form.value.studentid;
this.lend.annotation = form.value.annotation;
this.lend.startDate = form.value.startdate._d;
this.lend.startDay = form.value.startdate._i.date;
this.lend.startMonth = form.value.startdate._i.month;
this.lend.startYear = form.value.startdate._i.year;
this.lend.endDate = form.value.enddate._d;
console.log(this.lend);
this.lendService.addLend(this.lend);
}
Laravel永远不会开始或结束 .