Не удается удалить часы и минуты из таблицы данных

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

Что я получаю

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 ответа

Решение

Datatable принимает тип столбца такой же, как тип MySQL.

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

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

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

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

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

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

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

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

$model->releasedAt->format('y-m-d'); // Returns '18-09-11'
Другие вопросы по тегам