Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$select->from('TableName' ,array(
new Zend_Db_Expr('SQL_CALC_FOUND_ROWS DISTINCT *'),
'row2',
'row3'
));
echo $select;
SELECT SQL_CALC_FOUND_ROWS DISTINCT *, `TableName`.`row2`, `TableName`.`row3` FROM `TableName`->where('((A or (B and C)) and D) or E)').class My_Db_Select extends Zend_Db_Select
{
const SQL_CALC_FOUND_ROWS = 'sql_calc_found_rows';
public function __construct(Zend_Db_Adapter_Abstract $adapter)
{
self::$_partsInit = array_merge(array(
self::SQL_CALC_FOUND_ROWS => false
), self::$_partsInit);
parent::__construct($adapter);
}
public function calcFoundRows($flag)
{
$this->_parts[self::SQL_CALC_FOUND_ROWS] = (bool)$flag;
return $this;
}
}
* This source code was highlighted with Source Code Highlighter.$query = $db->select()
->from('test')
->where('A')
->where('D')
->orWhere('B')
->where('C')
->where('D')
->orWhere('E');
echo $query->assemble();
* This source code was highlighted with Source Code Highlighter.SELECT `test`.* FROM `test` WHERE (A) AND (D) OR (B) AND (C ) AND (D) OR (E)
* This source code was highlighted with Source Code Highlighter.->where(B)
->where(A)
->orWhere(С)
->where(A)
->orWhere(D)
->where(A)
->orWhere(E)
->where(A)
select count(*)'?
Вложенные запросы при помощи Zend_Db_Select