CompressedString::class, ]; public $cache_content = ''; public function cug() { return $this->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 xgetContentAttribute() { // For stream resources, we need to cache this result. if (! $this->cache_content) { $this->cache_content = is_resource($this->attributes['content']) ? stream_get_contents($this->attributes['content']) : $this->attributes['content']; } return $this->cache_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'; } }