belongsTo(CUG::class); } public function route() { return $this->hasOne(FrameMeta::class); } protected static function boot() { parent::boot(); static::addGlobalScope('order', function (Builder $builder) { $builder->orderBy('created_at','DESC'); }); } /** * For cockroachDB, content is a "resource stream" * * @return bool|string */ public function getContentAttribute() { return is_resource($this->attributes['content']) ? stream_get_contents($this->attributes['content']) : $this->attributes['content']; } /** * Return the Page Number * * @return string */ public function getPageAttribute() { return $this->frame.$this->index; } public function hasFlag(string $flag) { // @todo When flags is in the DB update this. return isset($this->flags) ? in_array($flag,$this->flags,FALSE) : FALSE; } /** * Frame Types */ public function type() { return $this->type ?: 'i'; } }