【发布时间】:2016-01-29 18:14:36
【问题描述】:
我遇到了一个问题,改变了我的视图,以便它过滤一个字符串字段(我知道只能有数字,但不能改变这种情况),以便将其作为数字处理......
通常我可以通过使用“CAST”来实现这一点......问题是,它在钩子中被改变了,所以我的示例如下所示:
... AND (CASTfield_data_field_baserent.field_baserent_valueASDECIMAL <= '1000') ))
所以所有多余的字符都会被删除... :-/
我尝试了很多钩子,但似乎没有一个能胜任! 有谁有想法,我该怎么做?! (模块计算字段并不是一个真正的选项..)
我当前的代码如下:
function custom_helpers_views_query_alter(&$view, &$query){
if($view->name=="mietangebote"){
// Miete
if(!empty($view->exposed_raw_input['field_baserent_value'])){
foreach($query->where[1]['conditions'] as $key=>$condition){
if($condition['field']=="field_data_field_baserent.field_baserent_value"){
$view->query->where[1]['conditions'][$key]['operator']="<=";
$view->query->where[1]['conditions'][$key]['value']=(double)$view->query->where[1]['conditions'][$key]['value'];
$view->query->where[1]['conditions'][$key]['field']="CAST(".$view->query->where[1]['conditions'][$key]['field']." AS DECIMAL)";
//dpm($view->query->where[1]['conditions'][$key]);
}
}
}
}
}
在哪里
$view->query->where[1]['conditions'][$key]['field']="CAST(".$view->query->where[1]['conditions'][$key]['field']." AS DECIMAL)";
是重要的线
提前感谢:)
【问题讨论】:
标签: mysql drupal drupal-7 views hook