Laravel 5: jenssegers / laravel-date не показывает правильный перевод. Как правильно использовать Laravel Date?

У меня есть простое приложение L5, где я должен вывести некоторые даты на другом языке, и поэтому я использую jenssegers / laravel-date пакет

Тем не менее, если я попытаюсь использовать новый пакет jenssegers для своих данных, хранящихся в моей базе данных, я не получу перевод, см. Здесь:

index.blade.php

@extends('app')

@section('content')

use Jenssegers\Date\Date;
// This returns 'vor 0 Sekunden' in German, which I do want.
echo Date::now()->diffForHumans();

echo '<br/>';

// This returns '1 day ago'. It is in English, but I need it in German.
echo $orders->find(1)->created_at->diffForHumans();

@endsection

Буду признателен за любую помощь.

0

Решение

Причина этого заключается в том, что $orders->find(1)->created_at возвращает Carbon экземпляр, а не Date один.

Один подход к использованию Date делает это:

echo Date::instance($orders->find(1)->created_at)->diffForHumans();

Вы можете использовать acessor всегда возвращать объект Date, вот так:

в вашей модели заказа:

public function getCreatedAtAttribute($value)
{
return Date::instance($value);
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]