if(!empty($q['person_table'])){
$jt = DB_DataObject::factory($q['person_table']);
- $et = DB_DataObject::factory($tn);
- $this->selectAdd("(select count(*) from Events where Events.dup_id = evet.id) as cnt ");
- $this->selectAs($et,'%s','evet');
- //$tn='evet';
+
if(!array_key_exists("{$jt->tableName()}_id", $this->tableColumns())){ // coz we have triiger on mysql...
$keys = $jt->keys();
- $this->_join = "LEFT JOIN {$jt->tableName()} AS join_person_id_id ON (join_person_id_id.{$keys[0]}={$tn}.person_id)";
- //$this->_join = "LEFT JOIN {$jt->tableName()} AS join_person_id_id ON (join_person_id_id.{$keys[0]}=Events.person_id)";
+ $this->_join = "LEFT JOIN {$jt->tableName()} AS join_person_id_id ON (join_person_id_id.{$keys[0]}=Events.person_id)";
+
$this->selectAdd();
$this->selectAs();
$dt = date('Y-m-d' , strtotime($q['query']['to']));
$this->whereAdd(" {$tn}.event_when <= '$dt' ");
}
+
+ if(!empty($q['dup_check'])){
+ $et = DB_DataObject::factory($tn);
+ $this->_join .= "LEFT JOIN {$et->tableName()} AS evet ON (evet.id=Events.id)";
+ $this->selectAdd("(select count(*)+1 from Events where Events.dup_id = evet.id) as cnt ");
+ $this->selectAs($et,'%s','evet');
+ $this->having('Events.dup_id = 0 ');
+
+ }
/*
if (!empty($q['query']['grouped']) && $q['query']['grouped'] == 'gr') {
// grouped..
if (isset($q['on_table']) && !strlen($q['on_table'])) {
// empty ontable queries.. these are valid..
- $this->whereAdd("{$tn}.on_table = ''");
+ $this->whereAdd("$tn.on_table = ''");
}
if (isset($q['query']['person_sum'])) {
if(!empty($q['query']['action'])) {
$act = $this->escape($q['query']['action']);
- $this->whereAdd("{$tn}.action LIKE '%{$act}%'");
+ $this->whereAdd("Events.action LIKE '%{$act}%'");
}
if(!empty($q['query']['on_table'])) {
$tnb = $this->escape($q['query']['on_table']);
- $this->whereAdd("{$tn}.on_table LIKE '%{$tnb}%'");
+ $this->whereAdd("Events.on_table LIKE '%{$tnb}%'");
}
}