I have the following that is to fetch only records that have the field “loan_cycle_number” = 0; yet it still fetches all the records. I have googled all I can and still no solution found:
$groups = new Application_Model_GroupsMapper();
$db = $groups->getDbTable()->select();
$select->where('loan_cycle_number = ?', 0);
$rows = $groups->fetchAll($select);
the getDbTable method is like so
public function getDbTable()
{
if (null === $this->_dbTable) {
$this->setDbTable('Application_Model_DbTable_Groups');
}
return $this->_dbTable;
}
Thanks
well its
SELECT registration_date FROM groups WHERE loan_cycle_number = 0;
Have you checked the actual SQL query that your code generates/executes? According to [URL=“http://framework.zend.com/manual/en/zend.db.table.html”]the docs , you should be doing something similar to…*
<?php
$groups = new Application_Model_GroupsMapper;
$rows = $groups->getDbTable()->fetchAll(
$groups->getDbTable()->select()->where('loan_cycle_number = ?', 0)
);
?>
* I’ve never used ZF, so maybe wrong.
Thanks all. I swapped my code with Anthony’s and it works now. Apart from the error having this
$db = $groups->getDbTable()->select();
instead of
$select = $groups->getDbTable()->select();
in the code I posted earlier, I think both codes should work but my doesn’t and Anthony’s does. Any way thanks for your help am happy now
Cups
September 27, 2010, 1:56pm
5
I’m wondering if this isn’t a reserved words issue?
Group is in Mysql, maybe Groups is in the ZF mapper?
Sorry, for this long shot, but I don’t know enough about this package either.
Cups
September 26, 2010, 7:40pm
6
What is the straight SQL statement that brings back the result you want?
(using whatever you manage your dbase with, PhpMyAdmin etc)