Drupal 6.13、Views 6.x-2.6、Voting API 6.x-2.3、Fivestar 6.x-1.18 を使用しています。
タイプ Fivestar 評価のフィールドを持つコンテンツ タイプがあります。このコンテンツ タイプのすべてのノードを、全体的な平均評価の降順で並べ替えてリストすることを意図しているビューがあります。このビューは、正しい情報 (投票できるユーザーの投票と全体の平均投票) を表示しているという点で機能しています。しかし、私は一生、それを適切にソートすることはできません。
ビューでは、「ノード: 投票結果」、値のタイプ = 「パーセント」、投票タグ = 「通常」、集計関数: 「平均」との関係があります。
私はたくさんのことを試しましたが、私が期待しているのは、「(投票結果)投票結果:値」と降順で「ソート基準」を追加することです。SQLクエリを見ると、明らかに正しくない「ORDER BY node_title ASC」が表示されます。「ORDER BY Votingapi_cache_node_percent_vote_average_value DESC」が表示されると思います。どんなポインタでも大歓迎です。
ここでクエリ:
SELECT node.nid AS nid,
node.title AS node_title,
profile_values_profile_full_name.value AS profile_values_profile_full_name_value,
users.uid AS users_uid,
votingapi_vote_node_percent_vote_curuser.value AS votingapi_vote_node_percent_vote_curuser_value,
votingapi_cache_node_percent_vote_average.value AS votingapi_cache_node_percent_vote_average_value
FROM node node
LEFT JOIN votingapi_cache votingapi_cache_node_percent_vote_average ON node.nid = votingapi_cache_node_percent_vote_average.content_id AND (votingapi_cache_node_percent_vote_average.content_type = 'node' AND votingapi_cache_node_percent_vote_average.value_type = 'percent' AND votingapi_cache_node_percent_vote_average.tag = 'vote' AND votingapi_cache_node_percent_vote_average.function = 'average')
LEFT JOIN votingapi_vote votingapi_vote_node_percent_vote_curuser ON node.nid = votingapi_vote_node_percent_vote_curuser.content_id AND (votingapi_vote_node_percent_vote_curuser.content_type = 'node' AND votingapi_vote_node_percent_vote_curuser.value_type = 'percent' AND votingapi_vote_node_percent_vote_curuser.tag = 'vote' AND votingapi_vote_node_percent_vote_curuser.uid = '***CURRENT_USER***')
LEFT JOIN node_revisions node_revisions ON node.vid = node_revisions.vid
LEFT JOIN users users_node_revisions ON node_revisions.uid = users_node_revisions.uid
INNER JOIN users users ON node.uid = users.uid
LEFT JOIN profile_values profile_values_profile_full_name ON users.uid = profile_values_profile_full_name.uid AND profile_values_profile_full_name.fid = '5'
WHERE (node.type in ('passion_talk')) AND (node.status <> 0)
ORDER BY node_title ASC