ldc-legaulois/app/Models/HomeSliderPictures.php

77 lines
1.3 KiB
PHP
Raw Normal View History

<?php
namespace App\Models;
use App\Casts\HtmlColor;
use App\Enums\Days;
use Illuminate\Database\Eloquent\Model;
class HomeSliderPictures extends Model
{
2021-03-20 14:38:15 +01:00
/**
* The attributes that should be cast.
*
* @var array
*/
protected $casts = [
'catch_color' => HtmlColor::class,
'title_color' => HtmlColor::class,
'link_color' => HtmlColor::class
];
2020-11-10 08:57:25 +01:00
protected $hidden = [
'id',
'days',
2020-11-10 08:57:25 +01:00
'status',
'created_at',
'updated_at'
];
/**
* Check if has a specific day
*
* @param Days $day
* @return boolean
*/
public function hasDay(Days $day)
{
$this->initDays();
2021-03-12 10:27:19 +01:00
return $day->has($this->days & $day->value);
}
/**
* Add a specific day
*
* @param Days $day
* @return void
*/
public function addDay(Days $day)
{
$this->initDays();
$this->days |= $day->value;
}
/**
* Remove a specific day
*
* @param Days $day
* @return void
*/
public function removeDay(Days $day)
{
$this->initDays();
$this->days &= ~$day->value;
}
/**
* Init Days prop if needed
*
* @return void
*/
private function initDays()
{
$this->days = $this->days ?? 0;
}
}