where('repair', 0); } public function package() { return $this->belongsTo('App\Package'); } public function user() { return $this->belongsTo('App\User'); } public function creator() { return $this->belongsTo('App\User', "creator_id"); } public function transfersAll() { return $this->morphMany('App\Transfer', "transferable")->orderBy("id", "desc"); } public function transfers() { return $this->morphMany('App\Transfer', "transferable")->where("status", StatusTypeEnum::APPROVED)->orderBy("id", "desc"); } public function latestTransfer() { return $this->morphOne('App\Transfer', "transferable")->where("status", StatusTypeEnum::APPROVED)->orderBy("id", "desc")->latest(); } public function transferActive() { return $this->morphMany('App\Transfer', "transferable")->where("status", StatusTypeEnum::APPROVED)->whereNull("to_date")->orderBy("id", "desc"); } public function registerMediaCollections(): void { $this->addMediaCollection('files') ->useFallbackUrl('/files/default_pastry.jpg') ->useFallbackPath(public_path('/files/default_pastry.jpg')); } /** * @throws InvalidManipulation */ public function registerMediaConversions(Media $media = null): void { $this->addMediaConversion('thumbnail') ->width(480) ->height(640) ->nonQueued() ->performOnCollections('files'); } protected static function getValidCollections(): array { return [ 'files' ]; } }