laravel 7 как вернуть старое время без 00000Z


1️⃣ Встроенный метод serializeDate() - это ОФИЦИАЛЬНЫЙ способ


// В моделях (это не костыль, это часть API Eloquent)
protected function serializeDate(DateTimeInterface $date)
{
    return $date->format('Y-m-d H:i:s');
}
2️⃣ Глобально через AppServiceProvider (правильный способ)


// app/Providers/AppServiceProvider.php
use Illuminate\Support\Facades\Date;

public function boot()
{
    // Для всех моделей сразу
    Date::useSerializedFormat();
}
3️⃣ Через встроенное свойство $dateFormat


// В BaseModel
protected $dateFormat = 'Y-m-d H:i:s';
4️⃣ Если это API - использовать API Resources (самый правильный способ)


// app/Http/Resources/MessageResource.php
class MessageResource extends JsonResource
{
    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'created_at' => $this->created_at->format('Y-m-d H:i:s'),
            // ...
        ];
    }
}


5️⃣ Через конфиг (если поддерживается в версии)


// config/database.php
'connections' => [
    'mysql' => [
        // ...
        'serialization' => \Illuminate\Database\Query\Grammars\MySqlGrammar::SERIALIZE_STRINGS,
    ],
],