Is there a way to get the total number of rows in Zend db select like with using SQL_CALC_FOUND_ROWS in a regular mysql query. I haven't been able to find a similar functionality for this apart from running the same query without the limit clause.
3
votes
3 Answers
11
votes
$db->select()
->from($tableName, array(
new Zend_Db_Expr('SQL_CALC_FOUND_ROWS id'),
'name',
'price'
));
You could also try replacing all cols with COUNT(*) and running the query second time. It may actually be more efficient (even if it's counter-intuitive). This was the case for my app.
You can do it like this:
$select->reset('cols')->reset('limit')->cols('COUNT(*)'); //there is a constant for the 'cols' in Select class
$db->query($select);
2
votes
Because no one else has anything better to offer I'll suggest to see this post on a ZF forum. It's from 2008 and ZF may have been upgraded since then.