Pony.fm/app/Favourite.php

65 lines
1.4 KiB
PHP
Raw Normal View History

2015-08-30 14:29:12 +02:00
<?php
namespace Poniverse\Ponyfm;
2015-08-31 14:35:47 +02:00
2015-08-30 14:29:12 +02:00
use Illuminate\Database\Eloquent\Model;
class Favourite extends Model
{
protected $table = 'favourites';
public $timestamps = false;
/*
|--------------------------------------------------------------------------
| Relationships
|--------------------------------------------------------------------------
*/
public function user()
{
return $this->belongsTo('Poniverse\Ponyfm\User');
2015-08-30 14:29:12 +02:00
}
public function track()
{
return $this->belongsTo('Poniverse\Ponyfm\Track');
2015-08-30 14:29:12 +02:00
}
public function album()
{
return $this->belongsTo('Poniverse\Ponyfm\Album');
2015-08-30 14:29:12 +02:00
}
public function playlist()
{
return $this->belongsTo('Poniverse\Ponyfm\Playlist');
2015-08-30 14:29:12 +02:00
}
/**
* Return the resource associated with this favourite.
*
* @return Resource|NULL
*/
public function getResourceAttribute()
{
if ($this->track_id) {
return $this->track;
} else {
if ($this->album_id) {
return $this->album;
} else {
if ($this->playlist_id) {
return $this->playlist;
} // no resource - this should never happen under real circumstances
else {
return null;
}
}
}
}
public function getTypeAttribute()
{
return get_class($this->resource);
}
}