<?php namespace App; use Auth; use Illuminate\Database\Eloquent\Model; use Pixelfed\Snowflake\HasSnowflakePrimary; class Story extends Model { use HasSnowflakePrimary; /** * Indicates if the IDs are auto-incrementing. * * @var bool */ public $incrementing = false; /** * The attributes that should be mutated to dates. * * @var array */ protected $dates = ['published_at', 'expires_at']; protected $visible = ['id']; public function profile() { return $this->belongsTo(Profile::class); } public function items() { return $this->hasMany(StoryItem::class); } public function reactions() { return $this->hasMany(StoryReaction::class); } public function views() { return $this->hasMany(StoryView::class); } public function seen($pid = false) { $id = $pid ?? Auth::user()->profile->id; return $this->views()->whereProfileId($id)->exists(); } }