我正在尝试为查询添加条件,如:
civicrm_contact_civicrm_relationship.id<> civicrm_contact_civicrm_relationship_1.id
但是对于第二个字段,drupal将其作为一个字符串,因此它总是导致
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";
答案 0 :(得分: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 } }