Use
Hook_views_query_alter(&$view, &$query)
Example code:
/** * Implements hook_views_query_alter(). */ function custom_general_views_query_alter(&$view, &$query) { if ($view->name == 'data_server_query') { // alter the condition for alexa filter if (isset($query->where[1]['conditions']) && isset($query->table_queue['field_data_field_csv_alexa_rank'])) { foreach ($query->where[1]['conditions'] as $key => $data) { if (is_string($data['field'])) { if ($data['field'] == 'field_data_field_csv_alexa_rank.field_csv_alexa_rank_value') { // views value format for alexa rank: xxxx - xxxx $val = explode('-', $data['value']); // remove the original query unset($query->where[1]['conditions'][$key]); $query->where[1]['conditions'][] = array( 'field' => 'field_data_field_csv_alexa_rank.field_csv_alexa_rank_value', 'value' => (int)$val[0], 'operator' => '>=', ); $query->where[1]['conditions'][] = array( 'field' => 'field_data_field_csv_alexa_rank.field_csv_alexa_rank_value', 'value' => (int)$val[1], 'operator' => '<=', ); } } } } } }
Category: