Как сделать пользовательский столбец с такими же свойствами, как столбцы timestamp ()? - PullRequest
0 голосов
/ 25 января 2019

Мне нужен третий столбец ( sorting_date ) с теми же свойствами, что и у столбцов create_at и updated_at , они оба генерируются с отметкой времени ( ) .

Я пытался сделать это в своих миграциях:

$table->datetime('sorting_date')->default(Carbon::now());

Но это оставляет меня с голой строкой даты / времени, и, следовательно, я не могу вызвать все методы goodie, которые существуют для двух других, например. ->format('Y-m')

Как мне добавить столбец 'sorting_date' и позволить ему быть экземпляром того же класса, что и creation_at и updated_at ?

UPDATE:

@ PuriaDeveloper помог мне получить время для колонки:

$table->timestamp('sorting_date')->nullable()->default(Carbon::now());

Но я все еще не могу получить доступ к полезным вкусностям, прикрепленным к классу углерода .. Пожалуйста, смотрите ниже мои вырезы из повозки:

>>>$i->sorting_date
=> "2019-01-25 11:09:57"
>>> $i->created_at
=> Illuminate\Support\Carbon @1548414597 {#3043
     date: 2019-01-25 11:09:57.0 UTC (+00:00),
   }
>>>

Мне нужна моя колонка, чтобы получить дату, завернутую в сборник углерода! Как это сделать?

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Вам нужно добавить 'sorting_date' к свойству $ date вашей модели, как это

class YourModel extends Model
{
    protected $dates = [
        'sorting_date',
   ];
}

Для получения более подробной информации, проверьте документы здесь:

https://laravel.com/docs/5.7/eloquent-mutators#date-mutators

0 голосов
/ 25 января 2019

Вы должны использовать

$table->timestamp('sorting_date');

для получения дополнительной информации проверьте эту ссылку ;

...