Ben böyle bir şey yapmak istiyorum:
$select = $myTbl->select()
->from('download_log')
->joinLeft(...... etc........
->joinLeft(...... etc........
->joinLeft(...... etc........);
//Filter all configured bots (Google, Yahoo, etc.)
if(isset($this->_config->statistics->bots)){
$bots = explode(',',$this->_config->statistics->bots);
foreach ($bots as $bot){
$select = $select->where("user_agent NOT LIKE '%$bot%'");
}
}
$select = $select->where("download_log.download_log_ts BETWEEN '".$start_date." 00:00:00' AND '".$end_date." 23:59:59'");
Ama outputed sorgu çünkü orWhere hükümlerin doğru değil benzersiz bir AND yan tümcesinde gruplanmış değildir. Bu parentheres bir çift hükümler GİBİ DEĞİL bu regrouped mümkün olup olmadığını bilmek istiyorum.
Benim geçerli alternatif şudur:
//Filter all configured bots (Google, Yahoo, etc.)
if(isset($this->_config->statistics->bots)){
$bots = explode(',',$this->_config->statistics->bots);
foreach ($bots as $bot){
$stmt .= "user_agent NOT LIKE '%$bot%' AND ";
}
$stmt = substr($stmt,0,strlen($stmt)-4); //remove the last OR
$select = $select->where("($stmt)");
}
Teşekkürler!