3

このカスタム クエリを drupal 6 ビューで定義しました

  function purchase_views_pre_execute(&$view) {
    global $user;
    if($view->name == 'user_accounts') {
      $view->build_info['query'] = "SELECT DISTINCT(content_type_account.field_account_number_value) AS my_account_numbers, content_type_account.nid AS my_account_nids FROM content_type_account INNER JOIN content_field_account ON content_field_account.field_account_nid = content_type_account.nid  INNER JOIN content_type_user_account_map ON content_field_account.nid = content_type_user_account_map.nid WHERE content_type_user_account_map.field_user_uid = $user->uid";
    }
  }

クエリを mysql コンソールで実行すると、結果が得られます。しかし、ビュー自体ではそうではありません。なぜそうなのですか?クエリで選択したフィールドをどこかに明示的に追加する必要がありますか?

ここに画像の説明を入力

ここに画像の説明を入力

何か不足していますか?

2 つの結果を示すスクリーンショットを添付しました。ビューにフィールドが表示されていないことがわかります

4

1 に答える 1

1

ユーザーは、ブラウザーでクエリを実行するときにクエリを発行しているユーザーと、クエリの実行に使用しているユーザーは同じですか?

これは、おそらくビュー、またはビューが使用しているテーブルが、Web として実行されているときにそれを使用しているユーザーに付与されていない、権利の問題である可能性があります。

于 2012-11-30T21:42:47.743 に答える