Попытка сделать дату - PullRequest
       2

Попытка сделать дату

0 голосов
/ 11 июня 2018

У меня есть этот код,

<div class="form-group">
  <label class="col-sm-2 control-label" for="date-created">Date Created</label>
  <div class="col-sm-10">
    @if (isset($post->created_at))
      <input type="date" class="form-control" id="date-created" name="created_at" value="{{ date('d/m/Y', strtotime($post->created_at)) }}">
    @else
      <input type="date" class="form-control" id="date-created" name="created_at" placeholder="Enter the date the blog post created">
    @endif
  </div>
</div>

Я пытаюсь отобразить дату возврата из базы данных в поле ввода типа, позволяющего пользователю редактировать дату.

но это было показано при рендеринге в браузере

enter image description here что лучше с этим делать?: -)

Пожалуйста, не понижайте голос.Это может быть простой проблемой, но я не нахожу простого объяснения, почему это не работает для меня.

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Единственное, что вы делаете неправильно, это формат даты, равный YYYY-MM-DD в соответствии с Руководством разработчика по Mozilla для поля <input type="date"> .Таким образом, вам нужно только переключить строку формата даты на Y-m-d.

В качестве альтернативы, вы также можете использовать подход Carbon, упомянутый AntonyMN, и использовать функцию toDateString().Если вы установите поле created_at как часть полей $date с protected $dates = ['created_at']; в вашей модели, вам даже не нужно будет анализировать строку даты в объекте Carbon.Модель просто возвращает объект Carbon по требованию.

Кстати, я не думаю, что использование заполнителя работает с полем ввода даты из-за фиксированного формата ввода.

0 голосов
/ 11 июня 2018

Laravel поставляется с Carbon Nesbot , включенным из коробки, чтобы помочь отформатировать дату.Даты в laravel могут быть легко отформатированы следующим образом:

{{\Carbon\Carbon::parse($post->created_at)->format('d/m/Y') }}

{{\Carbon\Carbon::parse($post->created_at)->format('jS M Y') }}

Просто показаны некоторые опции.Вы можете получить полную документацию по форматам даты здесь

В вашем случае код должен быть

@if (isset($post->created_at))
  <input type="date" class="form-control" id="date-created" name="created_at" value="{{ \Carbon\Carbon::parse($post->created_at)->format('d/m/Y') }}">
@else
  <input type="date" class="form-control" id="date-created" name="created_at" placeholder="Enter the date the blog post created">
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...