视图3输出的自定义顺序

时间:2012-09-22 17:12:30

标签: drupal views sql-order-by

我在视图中有一个相关字段,其中包含排名1 - 4,如果相关记录不存在,则为NULL。我需要按以下顺序返回结果:1,2,3,NULL,4而现在,它按此顺序返回数据集:NULL,1,2,3,4。

使用

似乎很容易做到这一点
ORDER BY FIELD(field, 1,2,3,NULL,4) in hook_views_alter_query.

我查看了视图中的SQL输出并解压缩了:

ORDER BY 
 field_partner_name_users__field_data_field_partner_ranking.field_partner_ranking_value, 

然后把它放在钩子里:

$query->orderby[0]['field'] = 
 "field_partner_name_users__field_data_field_partner_ranking.field_partner_ranking_value"; 

但是当我尝试在ORDER BY中使用此字段时,我收到此错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'field_partner_name_users__field_data_field_partner_ranking.field_partner_ranking_value' in 'order clause'

非常感谢任何帮助。此外,还有一个全面的视图3指南吗?

1 个答案:

答案 0 :(得分:0)

在自定义模块中尝试hook_veiws_query_alter以及hook_views_api

相关问题