public function alter_query_with_value(Query $query, $value) { $token = self::generate_token(); $v_alias = $token . '_v'; $t_alias = $token . '_t'; $q = ActiveRecord\get_model('taxonomy.vocabulary')->select("nid, vocabularyslug AS {$v_alias}, termslug AS {$t_alias}")->join(':taxonomy.terms')->join(':taxonomy.terms/nodes'); $query->join($q, ['on' => 'nid'])->where([$v_alias => $this->id, $t_alias => $value]); return $query; }
public function alter_query_with_value(Query $query, $value) { $users = \ICanBoogie\app()->models['users']->select('id AS user_id, username'); return $query->join($users, ['on' => 'user_id'])->and("post.user_id = ? OR username = ?", $value, $value); }
public function alter_query_with_value(Query $query, $value) { $categories = \ICanBoogie\app()->models['categories']->select('`id` AS category_id, `slug` AS category_slug'); return $query->join($categories, ['on' => 'category_id'])->filter_by_category_slug($value); }
public function alter_query_with_order(Query $query, $order_direction) { $usage_query = $query->model->join(':taxonomy.terms/nodes')->join(':nodes')->select('vtid, COUNT(nid) as `usage`')->where('is_online = 1')->group('vtid'); return $query->join($usage_query, ['as' => 'term_usage'])->order('`usage` ' . ($order_direction < 0 ? 'DESC' : 'ASC')); }