1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- namespace App;
- use Auth;
- use Illuminate\Database\Eloquent\Model;
- use Pixelfed\Snowflake\HasSnowflakePrimary;
- class Story extends Model
- {
- use HasSnowflakePrimary;
- public const MAX_PER_DAY = 20;
- /**
- * 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 $fillable = ['profile_id'];
- protected $visible = ['id'];
- protected $hidden = ['json'];
- public function profile()
- {
- return $this->belongsTo(Profile::class);
- }
- public function views()
- {
- return $this->hasMany(StoryView::class);
- }
- public function seen($pid = false)
- {
- return StoryView::whereStoryId($this->id)
- ->whereProfileId(Auth::user()->profile->id)
- ->exists();
- }
- public function permalink()
- {
- return url("/story/$this->id");
- }
- }
|