toby/app/Models/YearPeriod.php
Adrian Hopek 026bfe485f
#28 - holidays management (#30)
* #28 - holidays management

* #28 - fix

* #28 - fix

* #28 - fix

* #28 - fix

* #28 - fix

* #28 - fix

* #28 - cr fix
2022-01-25 09:02:48 +01:00

48 lines
1004 B
PHP

<?php
declare(strict_types=1);
namespace Toby\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Carbon;
use Illuminate\Support\Collection;
/**
* @property int $id
* @property int $year
* @property Collection $vacationLimits
* @property Collection $holidays
*/
class YearPeriod extends Model
{
use HasFactory;
protected $guarded = [];
public static function current(): ?static
{
return static::findByYear(Carbon::now()->year);
}
public static function findByYear(int $year): ?static
{
/** @var YearPeriod $year */
$year = static::query()->where("year", $year)->first();
return $year;
}
public function vacationLimits(): HasMany
{
return $this->hasMany(VacationLimit::class);
}
public function holidays(): HasMany
{
return $this->hasMany(Holiday::class);
}
}