maarheeze / calendar-date-laravel
Package info
github.com/maarheeze/calendar-date-laravel
pkg:composer/maarheeze/calendar-date-laravel
1.1.0
2026-03-19 19:25 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/database: ^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- maarheeze/calendar-date: ^1.0
Requires (Dev)
- maarheeze/phpcs: ^1.0
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^12
README
Laravel integration for maarheeze/calendar-date.
Requirements
- PHP 8.2+
- Laravel 8+
Installation
composer require maarheeze/calendar-date-laravel
Usage
Eloquent cast
use Maarheeze\CalendarDate\Casts\CalendarDateCast; class Article extends Model { protected $casts = [ 'publication_date' => CalendarDateCast::class, ]; }
The cast handles null, string, and DateTimeInterface values from the database, and stores as Y-m-d.
Blade
Since CalendarDate implements __toString(), it renders directly in Blade:
{{ $article->publication_date }} // results in 2000-01-01 {{ $article->publication_date->format('d-m-Y') }} // results in 01-01-2000
Validation
Use a custom constraint for validation in form requests:
use Maarheeze\CalendarDate\Rules\CalendarDateRule; public function rules(): array { return [ 'publication_date' => ['required', new CalendarDateRule(max: 'today')], ]; }
License
MIT