私はhook_views_query_alter()を使用していて、変更に基づいて実行されているクエリをどこかに(画面、エラーログなど)印刷したいのですが。私はdpm($ query)を試しましたが、それによって完全なクルモツリーが得られます-必要なのはクエリだけです-つまり、「select x、y from z where a = 2」です。可能?
_views_plugin_query_default
_ クラスには query()
現在オブジェクトに保持されているパラメーターを受け取り、標準 SelectQuery
を提供するメソッド(もちろん実行されません) 。
SelectQuery
クラスはマジック __toString()
メソッドを実装しているため、これを文字列に直接キャストできます。 SQLクエリ自体:
_$select_query = $query->query();
$query_string = (string)$select_query;
dpm($query_string);
_