Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 09.08.2017 13:49:27

Преобразовать дату из БД в Unix формат

Здравствуйте. Имеется в базе данных поле дата, в котором хранится дата в формате 12.11.1997 . Подскажите, пожалуйста, как мне преобразовать это значение в Unix формат для использования в представлении. В БД дата должна оставаться в таком же формате.

Не в сети

#2 09.08.2017 14:56:09

Re: Преобразовать дату из БД в Unix формат

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Flight extends Model
{
    /**
     * The storage format of the model's date columns.
     *
     * @var string
     */
    protected $dateFormat = 'd.m.Y';
}

Ты можешь установить формат для всех дат модели (раздел "Date Formats" https://laravel.com/docs/5.4/eloquent-mutators
) или писать свои мутаторы для каждого атрибута даты (если форматы дат разные), либо иной способ, вариантов много.

Не в сети

#3 09.08.2017 19:27:42

Re: Преобразовать дату из БД в Unix формат

Ты можешь создать читатель (getter, accessor):

public function getExampleDateAttribute($value)
{
    return Carbon::parse($value)->timestamp;
}

После этого, когда будешь обращаться к свойству exampleDate, увидишь дату в формате unix timestamp:

{{ $object->exampleDate }}

Или можешь вручную конвертировать из одного формата в другой:

{{ Carbon::parse($object->exampleDate)->timestamp }}

Не в сети

Подвал раздела