私はこの問題を抱えていました。最初のselect関数内で関数が無視され、すべてを返すだけであることが原因である可能性があります。これを機能させる方法を見つけました。次のようなものを試してください。
テーブルゲートウェイのselectWith関数と一緒にSelectクラスを使用します。
use Zend\Db\Sql\Select as Select;
$select = new Select();
$select->from('table');
$select->columns(array('id','category_name'));
$resultSet = $this->tableGateway->selectWith($select);