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') {
    $or = new Condition('OR');
    foreach ($条件 as $_and) {
      $and = new Condition('AND');
      foreach ($_and as $key => $val) {
        if (!empty($val)) {
          $and->condition("node__{$key}.{$key}_value", $val);
        }
      }
      $or->condition($and);
    }
    $query->addWhere($whereGroup++, $or);
  }
}

OTHER FAQ

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

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

カテゴリ降順で並び替える Core Ver. 関連モジュール タイトル
コンテンツの管理 7.38 Block Views node ノードページの編集タブをコンテキストメニューにしたい
コンテンツの管理 8.4x Entity EntityをPropertyで探す(クエリする)方法
コンテンツの管理 7.16 PHP 好きなところにノードを埋め込みたい
コンテンツの管理 7,51 Views Data Export Views Data ExportでCSVデータが欠けてしまう
コンテンツの管理 7.15 Views Bulk Operation 標準のコンテンツ編集/ユーザ一覧ページが物足りません
コンテンツの管理 7.15 Pagenation 一つの長いページをBookなどのように連続して読ませることはできますか?
コンテンツの管理 6.x Views Flag Calendar 空き室予約のような仕組みは実現できますか?
コンテンツの管理 8.6.x Commerce Commerce orderからすべての商品名を取得する方法
コンテンツの管理 8.4x Action カスタムアクションを作成する方法
コンテンツの管理 7.15 Content Access 簡単に閲覧制限を行うには?
コンテンツの管理 8.9.x 写真の変更を行いたい
サイトの構築 7.22 Views フィールドセットの伸縮をノンプログラミングでやりたい
サイトの構築 7.41 Rules Paygent モジュールについて
サイトの構築 7.59 Drupal.ajax drupal 7 で Uncaught TypeError: Drupal.ajax is undefined となったときの対応方法
サイトの構築 7.50 Module Missing Message Fixer モジュールをアンインストールしたらエラーがでるようになった
サイトの構築 7.34 ECK Entityの使い方について
サイトの構築 8.3x Webform Webformモジュール メールアドレスの入力ミス確認
サイトの構築 7.31 Views ブロックViewsの絞り込みが表示されない
サイトの構築 7.27 Context block ページ別、カテゴリ別等でブロックの表示有無を簡単にするには
サイトの構築 7.38 deployment 冗長構成におけるアップロードおよび時間指定公開について

ページ