progress
This commit is contained in:
+58
-2
@@ -36,6 +36,44 @@ class Show extends Model
|
||||
'vote_count',
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
'first_air_date' => 'date',
|
||||
'last_air_date' => 'date',
|
||||
'languages' => 'array',
|
||||
];
|
||||
|
||||
public function wasListedBy(string $listSlug, User $user)
|
||||
{
|
||||
$mediaList = MediaList::where('slug', $listSlug)->where('user_id', $user->id)->first();
|
||||
|
||||
if ($mediaList) {
|
||||
$mediaListItem = MediaListItem::where('media_list_id', $mediaList->id)
|
||||
->where('item_id', $this->id)
|
||||
->where('item_type', 'show')
|
||||
->first();
|
||||
|
||||
return !empty($mediaListItem);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function ratingBy(User $user)
|
||||
{
|
||||
$rating = Rate::where('user_id', $user->id)
|
||||
->where('item_id', $this->id)
|
||||
->where('item_type', 'show')
|
||||
->first();
|
||||
|
||||
return $rating ? $rating->rate : null;
|
||||
}
|
||||
|
||||
public function externalIds()
|
||||
{
|
||||
return $this->hasOne(ExternalId::class, 'entity_id', 'id')
|
||||
->where('external_ids.entity_type', 'show');
|
||||
}
|
||||
|
||||
public function castList()
|
||||
{
|
||||
return $this->belongsToMany(Person::class, 'show_cast', 'show_id', 'person_id');
|
||||
@@ -46,9 +84,27 @@ class Show extends Model
|
||||
return $this->belongsToMany(Person::class, 'show_crew', 'show_id', 'person_id');
|
||||
}
|
||||
|
||||
public function images()
|
||||
public function images(string $type = 'posters')
|
||||
{
|
||||
return $this->belongsToMany(Image::class, 'show_images', 'show_id', 'image_id');
|
||||
if ($type === Image::TYPE_POSTER) {
|
||||
return $this->belongsToMany(Image::class, 'show_images', 'show_id', 'image_id')
|
||||
->where('type', Image::TYPE_POSTER);
|
||||
}
|
||||
|
||||
return $this->belongsToMany(Image::class, 'show_images', 'show_id', 'image_id')
|
||||
->where('type', '=', Image::TYPE_BACKDROP);
|
||||
}
|
||||
|
||||
public function posters()
|
||||
{
|
||||
return $this->belongsToMany(Image::class, 'show_images', 'show_id', 'image_id')
|
||||
->where('type', Image::TYPE_POSTER);
|
||||
}
|
||||
|
||||
public function backdrops()
|
||||
{
|
||||
return $this->belongsToMany(Image::class, 'show_images', 'show_id', 'image_id')
|
||||
->where('type', '=', Image::TYPE_BACKDROP);
|
||||
}
|
||||
|
||||
public function videos()
|
||||
|
||||
Reference in New Issue
Block a user