【发布时间】:2012-09-22 17:12:29
【问题描述】:
我在视图中有一个相关字段,其中包含排名 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'
任何帮助将不胜感激。另外,是否有关于 Views 3 的综合指南?
【问题讨论】:
标签: drupal views sql-order-by