J'ai eu ce problème. Je pense que c'est peut-être parce que la fonction est ignorée dans la première fonction de sélection et qu'elle ne fait que tout renvoyer. J'ai trouvé un moyen de le faire fonctionner, essayez quelque chose comme ceci :
Utilisez la classe Select avec la fonction selectWith de la tablegateway :
use Zend\Db\Sql\Select as Select;
$select = new Select();
$select->from('table');
$select->columns(array('id','category_name'));
$resultSet = $this->tableGateway->selectWith($select);