'boolean', 'territory_version' => 'integer', 'published_at' => 'datetime', 'last_validated_at' => 'datetime', 'estimated_investment_amount' => 'decimal:2', ]; /** @return BelongsTo */ public function sector(): BelongsTo { return $this->belongsTo(Sector::class); } /** @return BelongsTo */ public function primaryTerritory(): BelongsTo { return $this->belongsTo(GeoLocation::class, 'primary_territory_id'); } /** @return BelongsToMany */ public function additionalTerritories(): BelongsToMany { return $this->belongsToMany(GeoLocation::class, 'opportunity_locations', 'opportunity_id', 'geo_location_id'); } /** @param Builder $query * @return Builder */ public function scopePublished(Builder $query): Builder { return $query->where('status', 'published')->whereNotNull('published_at')->where('published_at', '<=', now()); } }