Přidání k odpovědi @samsonasik a řešení problémů v jejích komentářích. Nebudete moci získat spojené hodnoty z toho, co je vráceno z tohoto příkazu. Tento příkaz vrátí objekt modelu, který nebude mít spojené řádky. Budete jej muset spustit jako SQL na úrovni, která jej připraví jako nezpracovaný SQL a vrátí vám každý výsledný řádek jako pole, nikoli jako objekt:
$sqlSelect = $this->tableGateway->getSql()->select();
$sqlSelect->columns(array('column_name_yourtable'));
$sqlSelect->join('othertable', 'othertable.id = yourtable.id', array('column_name_othertable'), 'left');
$statement = $this->tableGateway->getSql()->prepareStatementForSqlObject($sqlSelect);
$resultSet = $statement->execute();
return $resultSet;
//then in your controller or view:
foreach($resultSet as $row){
print_r($row['column_name_yourtable']);
print_r($row['column_name_othertable']);
}