ldc-doux/app/Models/Slider.php
2022-01-22 17:16:00 +01:00

45 lines
1 KiB
PHP

<?php
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Spatie\Translatable\HasTranslations;
class Slider extends Model
{
use HasFactory;
use HasTranslations;
protected $fillable = [
'label',
'slug',
'commentaire',
'published'
];
public $translatable = [
'label',
'slug',
'commentaire'
];
public function slides()
{
return $this->hasMany(Slide::class, 'slider_id')->orderBy('order', 'ASC');
}
public function showableSlides()
{
$now = Carbon::now();
return $this->hasMany(Slide::class, 'slider_id')
->orderBy('order', 'ASC')->where(function ($q) use ($now) {
$q->whereDate('date_start', '<=', $now)
->orWhereNull('date_start');
})->where(function ($q) use ($now) {
$q->whereDate('date_end', '>=', $now)
->orWhereNull('date_end');
});
}
}