sintonia_webapp/app/Models/File.php

96 lines
2 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class File extends Model
{
use HasFactory;
protected $table = 'cc_files';
const CREATED_AT = 'utime';
const UPDATED_AT = 'mtime';
protected $fillable = [
'name',
'mime',
'ftype',
'filepath',
'import_status',
'currentlyaccessing',
'editedby',
'lptime',
'md5',
'track_title',
'artist_name',
'bit_rate',
'sample_rate',
'format',
'length',
'album_title',
'genre',
'comments',
'year',
'track_number',
'channels',
'url',
'bpm',
'rating',
'encoded_by',
'disc_number',
'mood',
'label',
'composer',
'encoder',
'checksum',
'lyrics',
'orchestra',
'conductor',
'lyricist',
'original_lyricist',
'radio_station_name',
'info_url',
'artist_url',
'audio_source_url',
'radio_station_url',
'buy_this_url',
'isrc_number',
'catalog_number',
'original_artist',
'copyright',
'report_datetime',
'report_location',
'report_organization',
'subject',
'contributor',
'language',
'file_exists',
'replay_gain',
'owner_id',
'cuein',
'cueout',
'silan_check',
'hidden',
'is_scheduled',
'is_playlist',
'filesize',
'description',
'artwork',
'track_type_id'
];
public function editedBy() {
return $this->belongsTo(User::class, 'editedby');
}
public function getOwner() {
return $this->belongsTo(User::class, 'owner');
}
public function trackType() {
return $this->belongsTo(TrackType::class, 'track_type_id');
}
public function scopeFilter($query, $filters) {
return $filters->apply($query);
}
}