我很绝望。我正在尝试使用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);
}
这是我的角色代码
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永远不会开始或结束。