2013-08-01 10:57:08 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Entities;
|
|
|
|
|
|
|
|
class Favourite extends \Eloquent {
|
|
|
|
protected $table = 'favourites';
|
2013-08-19 05:39:29 +02:00
|
|
|
public $timestamps = false;
|
2013-08-01 10:57:08 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Relationships
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
*/
|
|
|
|
|
2013-08-18 06:18:41 +02:00
|
|
|
public function user() {
|
2013-08-01 10:57:08 +02:00
|
|
|
return $this->belongsTo('Entities\User');
|
|
|
|
}
|
|
|
|
|
2013-08-18 06:18:41 +02:00
|
|
|
public function track() {
|
2013-08-01 10:57:08 +02:00
|
|
|
return $this->belongsTo('Entities\Track');
|
|
|
|
}
|
|
|
|
|
2013-08-18 06:18:41 +02:00
|
|
|
public function album() {
|
2013-08-01 10:57:08 +02:00
|
|
|
return $this->belongsTo('Entities\Album');
|
|
|
|
}
|
|
|
|
|
2013-08-18 06:18:41 +02:00
|
|
|
public function playlist() {
|
2013-08-01 10:57:08 +02:00
|
|
|
return $this->belongsTo('Entities\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
|
2013-08-19 05:39:29 +02:00
|
|
|
return null;
|
2013-08-01 10:57:08 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public function getTypeAttribute(){
|
|
|
|
return get_class($this->resource);
|
|
|
|
}
|
|
|
|
}
|