hook_views_pre_executeの実装中に、[〜#〜] in [〜#〜]句を追加する必要があります
しかし、それは次の行のように追加された通常の[〜#〜] in [〜#〜]ではありません
{table1} .col1 IN(val1、val2)
$query->condition('author', array($user->uid), 'IN');
リバースを追加したかった
{val} IN({table1} .col1、{table2} .col2)
$query->condition($user->uid, array(pm_message.author, pm_index.recipient), 'IN');
ただし、クエリはフィールドを列名ではなく値として受け取ります
Drupalに追加することは可能ですか?
単に、ユーザーが作成者または受信者であるメッセージを取得する必要があります privatemsg
これは(おそらく)非標準なので、where
が必要になります。
例えば、
$query = db_select('foo');
$query->where(':val IN ({table1}.col1, {table2}.col2)', array(':val' => $user->uid));
あなたを取得します
SELECT
FROM
{foo} foo
WHERE (:val IN ({table1}.col1, {table2}.col2))
(:val
と取り換える $user->uid
)。