2011-12-07 35 views
2

你有没有试过存储这样的数字113044638720122,然后使用视图来过滤它?Drupal 6十进制和视图

我试图使用这些大数字,我用CCK十进制精度到32和视图。 在一个简单的测试中,我通过113044638720122作为固定参数,然后我查看查询并将参数更改为2147483647(这与2^32/2-1,最大带符号整数一样)。

你知道一个人类的方式来使用这些大数字作为参数吗?视图正在将我的小数点(ckk字段)转换为一些精度较低的数字类型......并破坏了我的参数和结果。

我也尝试将这些数字存储在字符串中,但如果我这样做,我不能设置“允许每个参数多个项”,这是一个很大的限制。

任何线索?非常感谢。

回答

1

目前我正在使用hook_views_query_alter解决此问题,首先将大数字更改为字符串,然后修改视图中的参数。这不是我想的最好的解决方案,但它工作。

function mymodule_views_query_alter (&$view, &$query) { 

    if ($view->name=='viewname' && $view->current_display=='displayname') { 
    $query->where[0]['args']= somefunction(); 
    } 

} 
相关问题