'boolean', 'last_triggered_at' => 'datetime', ]; } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function feeds(): BelongsToMany { return $this->belongsToMany(Feed::class); } public function scopeEnabled(Builder $query): Builder { return $query->where('enabled', true); } public function scopeForFeed(Builder $query, int $feedId): Builder { return $query->where(function (Builder $q) use ($feedId) { $q->where('scope', self::SCOPE_ALL) ->orWhere(function (Builder $q2) use ($feedId) { $q2->where('scope', self::SCOPE_FEEDS) ->whereHas('feeds', fn (Builder $f) => $f->where('feeds.id', $feedId)); }); }); } }