Дата от Angular до Laravel всегда "сейчас" - PullRequest
0 голосов
/ 12 июня 2018

Я в отчаянии.Я пытаюсь отправить дату в Laravel с Angular и сохранить ее в базе данных MySQL.Тем не менее, я получаю только текущую дату.Я пришлю больше информации.Они прибывают правильно.Только на дату он выбирает «сейчас».В базе данных дата имеет тип DateTime.Форма объекта в Angular также имеет правильную дату и имеет тип Момент.

Я уже пробовал следующее.Я только что прошел дату (с _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 никогда не бывает ни начала, ни конца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...