2013-06-06 4 views
1

Я пытаюсь добавить условие в запрос как:Drupal Просмотров: Добавить условие в том, где положение, где значение поля в hook_alter_query

< civicrm_contact_civicrm_relationship.id> civicrm_contact_civicrm_relationship_1.id

, но и для второе поле друпал принимает его как строку, так что всегда приводит к

< civicrm_contact_civicrm_relationship.id> «civicrm_contact_civicrm_relationship_1.id»

Я попытался сыграть с численным значением без успеха.

Любая идея, как я могу это сделать? Может быть, с другим крючком? любой совет будет приветствоваться!

Мой код:

 $view->query->where[2]["conditions"][0]["field"] = "civicrm_contact_civicrm_relationship_1.id"; 
     $view->query->where[2]["conditions"][0]["operator"] = "IS NULL"; 
     $view->query->where[2]["conditions"][0]["value"] = ""; 

     $view->query->where[2]["conditions"][1]["field"] = "civicrm_contact_civicrm_relationship.id"; 
     $view->query->where[2]["conditions"][1]["operator"] = "IS NULL"; 
     $view->query->where[2]["conditions"][1]["value"] = ""; 

     $view->query->where[2]["conditions"][2]["field"] = "civicrm_contact_civicrm_relationship.id"; 
     $view->query->where[2]["conditions"][2]["value"] ="civicrm_contact_civicrm_relationship_1.id"; 
     $view->query->where[2]["conditions"][2]["numeric"] = "1"; 
     $view->query->where[2]["conditions"][2]["operator"] = "<>"; 

     $view->query->where[2]["type"] = "OR"; 

ответ

3

попробовать что-то вроде

 
    function my_hook_views_query_alter(&$view, &$query) 
    { 
     if ($view->name == 'my_hook') { 
     $alias = $query->add_table('civicrm_contact_civicrm_relationship','civicrm_contact_civicrm_relationship_1'); 
     $query->add_where_expression(0,'civicrm_contact_civicrm_relationship.id <> civicrm_contact_civicrm_relationship_1.id'); 
     dpm($query); //dumps object to admin with devel module 
     } 
    } 

+0

Спасибо !! Извините за поздний ответ, но поскольку решение пришло немного, у меня было все, чтобы закончить, прежде чем я смог вернуться к этому! Но это сработало отлично! Thx – Lucia

+0

Меня интересует, как реализовать «ИЛИ» в нижней части его примера. – zkent

Смежные вопросы