*/ use BumpsContentVersion, HasFactory, HasImages, HasRevisions, HasTranslations; /** @var array */ public array $translatable = ['description', 'radar_note']; protected function casts(): array { return [ 'category' => TechnologyCategory::class, 'radar_ring' => RadarRing::class, 'position' => 'integer', ]; } /** * @return array */ public function imageAttributes(): array { return ['logo']; } /** * @return BelongsTo */ public function logoMedia(): BelongsTo { return $this->imageRelation('logo'); } /** * @return BelongsToMany */ public function projects(): BelongsToMany { return $this->belongsToMany(Project::class); } /** * @return BelongsToMany */ public function services(): BelongsToMany { return $this->belongsToMany(Service::class); } /** * @return BelongsToMany */ public function members(): BelongsToMany { return $this->belongsToMany(Member::class); } /** * @return BelongsToMany */ public function calls(): BelongsToMany { return $this->belongsToMany(Call::class); } /** * Technologies placed on the radar. A technology with no ring is still * usable as a tag; it just does not appear in the radar view. * * @param Builder<$this> $query * @return Builder<$this> */ public function scopeOnRadar(Builder $query): Builder { return $query->whereNotNull('radar_ring'); } }