2

関連レコードが存在しない場合はランキング 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 の包括的なガイドはありますか?

4

1 に答える 1

0

カスタムモジュールで hook_veiws_query_alter と hook_views_api を試してください

于 2013-04-10T05:11:36.643 に答える