belongsTo('FireflyIII\User'); } /** * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function ruleGroup() { return $this->belongsTo('FireflyIII\Models\RuleGroup'); } /** * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function ruleActions() { return $this->hasMany('FireflyIII\Models\RuleAction'); } /** * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function ruleTriggers() { return $this->hasMany('FireflyIII\Models\RuleTrigger'); } /** * @param $query * @param $triggerType * @param null $triggerValue * * @return Builder */ public function scopeHasTrigger(Builder $query, $triggerType, $triggerValue = null) { $query->leftJoin('rule_triggers', 'rules.id', '=', 'rule_triggers.rule_id'); $query->where('rule_triggers.trigger_type', $triggerType); if (!is_null($triggerValue)) { $query->where('rule_triggers.trigger_value', $triggerValue); } return $query; } }