예제 #1
0
 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;
 }
예제 #2
0
 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);
 }
예제 #3
0
 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);
 }
예제 #4
0
 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'));
 }