Не удается удалить часы и минуты из таблицы данных - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь получить поле даты релиза с форматом y-m-d. На самом деле формат времени (для ymd) выглядит нормально, но он также дает h: m: s, я изменил формат времени на стороне сервера и удалил h: м: с, но данные все еще показывают их

Что я получу

2012-04-11 00:00:00

Что я хочу

2012-04-11

Поле Released_at (тема Metronic - данные JSON)

{
  field: "released_at",
  title: "Release Date",
  type: "date",
  format: "YYYY/MM/DD"
}

формат времени (я использую Laravel Framework)

protected $dateFormat = "Y-m-d";

Как мне это исправить?

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Тип данных принимает тип столбца, такой же, как у типа mysql.

Вы пытаетесь преобразовать столбец mysql dateTime в Date в виде данных, что невозможно из данных.

В своем коде вы заявили

format: "YYYY/MM/DD" // but actual type is dateTime as per mysql.So it will append time next to it.

Если вы храните только дату в MySQL, вы можете изменить тип столбца на Date, и ваша проблема будет решена.

И если вы хотите преобразовать строку в дату в laravel, вы можете подписаться на эту запись.

0 голосов
/ 11 сентября 2018

Ваш столбец базы данных имеет тип dateTime, который по определению включает в себя как дату, так и время. Если вы хотите удалить время на уровне базы данных, используйте тип date вместо

$table->date("released_at")->nullable();

Если вместо удаления времени из базы данных вы просто хотите проигнорировать его для определенных частей вашего приложения, вы можете использовать тот факт, что в Laravel все даты, приходящие из ваших моделей, являются Carbon\Carbon экземплярами, так что вы можете сделать

$model->releasedAt->format('y-m-d'); // Returns '18-09-11'
...