Здравствуйте, столкнулся с проблемой, что дата сохраняется корректная, то есть Carbon правильно распознаёт дату. Но стоит на клиенте привести в строчку, то время различается.
Пример:
Хочу сохранить дату: 24.08.2022 09:00:00
Laravel при сохранении конвертирует дату в ISO формат и получается: 2022-08-24T09:00:00.000000Z
Но если прогнать эту дату на клиенте JS: new Date("2022-08-24T09:00:00.000000Z"), то получается: Wed Aug 24 2022 12:00:00 GMT+0300 (Москва, стандартное время).
В модели у меня стоит каст на преобразование в datetime
/**
* The attributes that should be cast.
*
* @var array<string, string>
*/
protected $casts = [
'cancelled' => 'boolean',
'start_at' => 'datetime',
'end_at' => 'datetime'
];
Миграция:
Schema::create('table', function (Blueprint $table) {
$table->id();
$table->unsignedInteger('user_id');
$table->unsignedInteger('room_id');
$table->string('text')->nullable();
$table->boolean('cancelled')->default(false);
$table->timestamp('start_at')->nullable();
$table->timestamp('end_at')->nullable();
$table->timestamps();
});
Данные возвращаю из контроллера таким образом:
return response()->json(Model::query()->where('user_id', Auth::id())
->orderBy('id', 'asc')
->get()
->toArray());
В чём может быть проблема?