从Angular到Laravel的日期总是“现在”

时间:2018-06-12 07:50:18

标签: angular laravel rest datetime datepicker

我很绝望。我正在尝试使用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永远不会开始或结束。

0 个答案:

没有答案