belongsTo(User::class); } public function creator(): BelongsTo { return $this->belongsTo(User::class, "creator_id"); } public function items(): HasMany { return $this->hasMany(Item::class); } public function labels(): HasMany { return $this->hasMany(Label::class); } public function transfersAll(): MorphMany { return $this->morphMany(Transfer::class, "transferable") ->orderBy("id", "desc"); } public function transfers(): MorphMany { return $this->morphMany(Transfer::class, "transferable") ->where("status", StatusTypeEnum::APPROVED) ->orderBy("id", "desc"); } public function latestTransfer(): MorphOne { return $this->morphOne(Transfer::class, "transferable") ->where("status", StatusTypeEnum::APPROVED) ->orderBy("id", "desc") ->latest(); } public function transferActive(): MorphMany { return $this->morphMany(Transfer::class, "transferable") ->where("status", StatusTypeEnum::APPROVED) ->whereNull("to_date") ->orderBy("id", "desc"); } }