sintonia_webapp/app/Models/SmartBlock.php

44 lines
1 KiB
PHP

<?php
namespace App\Models;
use App\Filters\PlaylistFilter;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class SmartBlock extends Model
{
use HasFactory;
protected $table = 'cc_block';
const CREATED_AT = 'utime';
const UPDATED_AT = 'mtime';
protected $fillable = [
'name',
'creator_id',
'description',
'length',
'type'
];
public function creator(): BelongsTo {
return $this->belongsTo(User::class, 'creator_id');
}
public function tracks(): HasMany
{
return $this->hasMany(SmartBlockContent::class, 'block_id');
}
public function criteria(): HasMany
{
return $this->hasMany(SmartBlockCriteria::class, 'block_id');
}
public function scopeSearchFilter($query, $request) {
$filters = new PlaylistFilter();
return $filters->apply($query, $request);
}
}