Ciao a tutti ,
sto realizzando un piccolo gestionale in php utilizzando Zend2 come framework e oggi mi sono imbattuto in un problema che non riesco a risolvere.
In un mio Model ho una funzione dove vado a ricavare 2 colonne da una mia tabella in database e vado ad assegnarli 2 alias sfruttando il metodo columns :
public function getRow()
{
$select = new \Zend\Db\Sql\Select();
$select->from(array('t' => 'nome_tabella'))
->columns(array('alias1' => 'colonna1' ,'alias2' =>'colonna2'));
// echo $select->getSqlString();
$resultSet = $this->tableGateway->selectWith($select);
return $resultSet;
}
Non sto a postare tutta la action del mio Controller dove nella action ritorno i miei risultati in rows
return new ViewModel(array('rows' => $rows));
(vi assicuro che questo giro è fatto correttamente) .
Il mio problema sta nel fatto che nella view , andando a ciclare i miei valori di rows con un foreach riesco a ricavare i miei valori solo nel caso un cui nella function getRow imposti gli alias identici al nome della colonna in db .
<?php foreach ($rows as $row) { ?>
<tr>
<td><?php echo $row->alias1; ?></td>
<td><?php echo $row->alias2; ?></td>
</tr>
<?php } ?>
Per capirci in questi snipet di codice di esempio che ho messo se in getRow() inserisco
->columns(array('colonna1' => 'colonna1' ,'colonna2' =>'colonna2'));
e nella view vado logicamente a cambiare le alias1 con colonna1 e alias2 con colonna2 funziona ; se invece ad alias1 e alias2 assegno valori diversi (logicamente un alias con lo stesso nome della collona non ha alcun senso ) il tutto non funziona e il mio foreach nella view mi stampa le 2 colonne di ogni riga (giusto numero di righe a seconda del count della query che ho anche stampato
echo $select->getSqlString();
) vuote.
Dove sto sbagliando ?
Aspetto vostre notizie
ciao ciao
ilDodo