Viewsクエリの条件式にサブクエリを追加する方法

カテゴリ Views コアバージョン 8.4x 関連モジュール hook_views_query_alter

modules/custom/your_module/your_module.module

/**
 * @param \Drupal\views\ViewExecutable $view
 * @param \Drupal\views\Plugin\views\query\QueryPluginBase $query
 */
function your_module_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {
  if ($view->id() == 'your_view_id') {
    $query->addWhereExpression(
      $whereGroup,
      'node__field_xxxxx_value = (' .
      'SELECT MAX(c.field_yyyyy_value) FROM node__field_yyyyy c ' .
      'INNER JOIN node__field_zzzzz i ON i.entity_id = c.entity_id AND i.deleted = 0 ' .
      'WHERE c.deleted = 0 ' .
      'AND i.field_zzzzz_value = node__field_zzzzz.field_zzzzz_value' .
      ')');
  }
}

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ Core Ver. 関連モジュール タイトル
言語 7.15 Entity Translation nodeのEntity Translation
言語 6.x i18n 多言語対応サイトのサイト名やスローガン/ミッションなどを多言語化する方法を教えてください
言語 6.22 URLエイリアスを使った場合に、翻訳したページで同じURLエイリアスが使えないという不具合
サイトの環境設定 7.15 Secure Pages Secure Pagesが急に機能しなくなった
見栄え 7.15 js Injector 簡単にJavascriptを追加する方法は?
ダウンロード 6.x Views Bonus Pack Viewsで表示した内容をCSVダウンロード
サイトの環境設定 7.15 トップ(ホーム)ページを変更するには?
ユーザの管理 7.15 Devel 簡単に指定ユーザにログインしなおす方法
コンテンツの作成 7.15 Darty Form 編集ページでの操作ミス
コンテンツの管理 7.15 Views Bulk Operation 標準のコンテンツ編集/ユーザ一覧ページが物足りません
権限 7.15 Path_Access Content_Access 特定のページ(パス)をアクセス制限したい
フォーム 7.15 DefaultTextForNode 新しいページの作成方法を一から教えてください
コンテンツの管理 7.15 Pagenation 一つの長いページをBookなどのように連続して読ませることはできますか?
コンテンツの作成 7.15 Mailhandler メールを通じてnodeの投稿をするには
コンテンツの作成 6.x Insert Block ブロックの内容を本文中に表示するには?
タクソノミー 7.15 Taxonomy manager タームを他のボキャブラリ配下に移動したい
タクソノミー 7.15 Hirarchical Select タクソノミー(ターム)の選択を楽にできないでしょうか
タクソノミー 7.15 Taxonomy manager タクソノミーを効率よく管理したい
ブロック 7.15 Views ひとつのViewsをページやブックページ中で再利用する方法は?
言語 7.15 Language まだ翻訳されていない英語文、どうにかならない?

ページ