Help us understand the problem. What is going on with this article?

DrupalのViewsで作られるSQLを確認する(パラメータバインド済み)

More than 3 years have passed since last update.

前提条件

Develモジュールをインストールし、有効化すること。
https://www.drupal.org/project/devel

3行コードを書く

画面上部にSQLが出力される。

function MODULENAME_views_pre_execute(&$view) {
  dpq($view->build_info['query']);
}

特定のViewのSQLのみ確認したい

そんな時には if文でviewの名前を指定する。

function MODULENAME_views_pre_execute(&$view) {
  if ($view->name == '[Viewの名前を書く]') {
    dpq($view->build_info['query']);
  }
}

おわりに

dpq() は第2引数にTRUEを指定するとSQLを文字列として返却してくれる。
なので、独自のデバッグモジュールやログの整形には重宝しそう。

Kenji_TAJIMA
Web系エンジニア。JavaとPHPを得意言語とする。Javaでの保険3社統合大型案件やPHPでの短期開発を経て、CMSをフレームワークとした開発に精進。その後は主にマネジメントと要件定義に従事。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away