Fix Rsx_DateTime_Cast to handle microsecond timestamps after save()

Fix sidebar not displaying: use custom breakpoint classes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2026-01-06 07:49:46 +00:00
parent 71d042ff3c
commit 475fc333ab

View File

@@ -46,11 +46,15 @@ class Rsx_DateTime_Cast implements CastsAttributes
// MySQL format "YYYY-MM-DD HH:MM:SS" - convert to ISO // MySQL format "YYYY-MM-DD HH:MM:SS" - convert to ISO
if (is_string($value) && preg_match('/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $value)) { if (is_string($value) && preg_match('/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $value)) {
// Database stores in UTC, parse as UTC // Database stores in UTC, parse as UTC
$carbon = Carbon::createFromFormat( // Handle fractional seconds: truncate to 3 digits for .v format (milliseconds)
strlen($value) > 19 ? 'Y-m-d H:i:s.v' : 'Y-m-d H:i:s', // This handles microseconds (6 digits) from Laravel/Carbon after save()
$value, if (strlen($value) > 19) {
'UTC' $value = preg_replace('/(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\.(\d{3})\d*/', '$1.$2', $value);
); $format = 'Y-m-d H:i:s.v';
} else {
$format = 'Y-m-d H:i:s';
}
$carbon = Carbon::createFromFormat($format, $value, 'UTC');
return $carbon->format('Y-m-d\TH:i:s.v\Z'); return $carbon->format('Y-m-d\TH:i:s.v\Z');
} }