In my current ZF2 projet, I use Paginator but I have a encorred a problem.
When I use Paginator with a select join, I can't display the object element who don't belong at my Servicegroup object.
# Create a new Select object
$Select = new Select();
$Select->from('t_service_group')
->join('t_user_group', 't_user_group.user_group_id = t_service_group.fk_user_group_id')
->order('service_group_name ASC');
# Create a new result set
$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new ServiceGroup());
# Create a new pagination adapter object
$paginatorAdapter = new DbSelect(
# Our configured select object
$Select,
# The adapter to run it against
$this->tableGateway->getAdapter(),
# The result set to hydrate
$resultSetPrototype
);
$paginator = new Paginator($paginatorAdapter);
return $paginator;
Do you know how I can do to use paginator without using:
setArrayObjectPrototype(new ServiceGroup());
Thanks you all for your help Best regards
EDIT
If you use a select query with join in your query paginator. You have to make that:
# Create a new Select object
$Select = new Select();
$Select->from('t_service_group')
->join('t_user_group', 't_user_group.user_group_id = t_service_group.fk_user_group_id')
->order('service_group_name ASC');
# Create a new result set
$resultSetPrototype = new ResultSet();
# $resultSetPrototype->setArrayObjectPrototype(new ServiceGroup());
# Create a new pagination adapter object
$paginatorAdapter = new DbSelect(
# Our configured select object
$Select,
# The adapter to run it against
$this->tableGateway->getAdapter(),
# The result set to hydrate
$resultSetPrototype
);
$paginator = new Paginator($paginatorAdapter);
return $paginator;
You simple don't set a resultsetprototype and let use the default result set prototype which will populate all the values returning from the row