i have a fetchAll function in zend:
public function fetchAll($where = 1, $order = null, $limit = null, $group = null, array $fields = null)
{
$where = (null == $where) ? 1 : $where;
$fields = (!isset($fields)) ? '*' : $fields;
$select = $this->db->select()
->from("table", $fields)
->where($where)
->order($order)
->group($group)
->limit($limit, $offset);
echo $select; exit;
$result = $this->db->fetchAll($select);
return $this->getResultObjects($result);
}
and i can call this function $this->fetchAll('field = 1', null, 10);
i can $order to null and the query will work just fine but not the $group for some reason.
How can i make it so that the group is optional and goes in only if i sat it to something?
thanks
The methods are chained so you can split it up:
Every method in the chain (
from,where,order, etc) returns an instance ofZend_Db_Select. So every time you call one of those methods you can immediately follow it up with another method call from that same class.These code blocks are identical:
You can see why chaining is preferred. Note: the assignment (
$select =) is mostly superflous in the non-chain example, I only left it in to show the clunkyness.