public function getWordFilters() { return $this->hasMany(WordFilter::className(), ['id' => 'wordfilter_id'])->viaTable('posts_settings_wordfilters', ['posts_settings_id' => 'id']); }
function filter_by_index(array $tasks, $index) { global $config; switch ($index) { case 0: // due (i.e. all dated items) $date_filter = new DateFilter(); $tasks = $date_filter->filter_by($tasks, 0); break; case 1: // overdue/late items $date_filter = new RangeFilter(); $tasks = $date_filter->filter_by($tasks, '0..' . date($config['date_format'])); break; case 2: // starred items $word_filter = new WordFilter(); $tasks = $word_filter->filter_by($tasks, $config['find_star_rgx']); break; case 3: // done/complete items $word_filter = new WordFilter(); $tasks = $word_filter->filter_by($tasks, $config['find_done_rgx']); break; } $this->_hits = count($tasks); return $tasks; }