83 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Models;
 | |
| 
 | |
| use Illuminate\Database\Eloquent\Factories\HasFactory;
 | |
| use Illuminate\Database\Eloquent\Model;
 | |
| use Illuminate\Database\Eloquent\SoftDeletes;
 | |
| 
 | |
| class Artist extends Model
 | |
| {
 | |
|     use HasFactory;
 | |
| 
 | |
|     use SoftDeletes;
 | |
| 
 | |
|     protected $table = 'artists';
 | |
| 
 | |
|     protected $dates = ['created_at', 'updated_at', 'deleted_at'];
 | |
| 
 | |
|     protected $casts = [
 | |
|         'created_at' => 'datetime',
 | |
|         'updated_at' => 'datetime',
 | |
|         'deleted_at' => 'datetime',
 | |
|     ];
 | |
| 
 | |
|     protected $fillable = [
 | |
|         'user_id',
 | |
|         'name',
 | |
|         'slug',
 | |
|         'avatar',
 | |
|         'header',
 | |
|         'location',
 | |
|         'alby',
 | |
|         'naasocial',
 | |
|         'website',
 | |
|         'bio',
 | |
|         'created_at',
 | |
|         'updated_at',
 | |
|         'deleted_at',
 | |
|     ];
 | |
| 
 | |
|     public function user()
 | |
|     {
 | |
|         return $this->belongsTo(User::class);
 | |
|     }
 | |
| 
 | |
|     public function artworks()
 | |
|     {
 | |
|         return $this->hasMany(Artwork::class);
 | |
|     }
 | |
| 
 | |
|     public function overlays()
 | |
|     {
 | |
|         return $this->hasMany(Overlay::class);
 | |
|     }
 | |
| 
 | |
|     public function episodes()
 | |
|     {
 | |
|         return $this->hasManyThrough(Episode::class, Artwork::class);
 | |
|     }
 | |
| 
 | |
|     public function wallets()
 | |
|     {
 | |
|         return $this->hasMany(Wallet::class);
 | |
|     }
 | |
| 
 | |
|     public function avatar()
 | |
|     {
 | |
|         if (!$this->avatar) {
 | |
|             return config('app.static_asset_url') . '/avatars/default_avatar_male.svg';
 | |
|         }
 | |
|         return config('app.static_asset_url') . '/' . $this->avatar;
 | |
|     }
 | |
| 
 | |
|     public function header()
 | |
|     {
 | |
|         if (!$this->header) {
 | |
|             return config('app.static_asset_url') . '/artist_headers/default_artist_banner.png';
 | |
|         }
 | |
|         return config('app.static_asset_url') . '/' . $this->header;
 | |
|     }
 | |
| 
 | |
| }
 |