Pony.fm/app/Favourite.php
2015-10-23 18:22:14 -07:00

65 lines
No EOL
1.4 KiB
PHP

<?php
namespace Poniverse\Ponyfm;
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');
}
public function track()
{
return $this->belongsTo('Poniverse\Ponyfm\Track');
}
public function album()
{
return $this->belongsTo('Poniverse\Ponyfm\Album');
}
public function playlist()
{
return $this->belongsTo('Poniverse\Ponyfm\Playlist');
}
/**
* 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);
}
}