2013-03-07 3 views
1

Besoin d'aide pour comprendre pourquoi je ne peux pas interroger ma base de données sans utiliser le ServiceManager ou peut-être que c'est autre chose que je fais mal. Mon approche n'est probablement pas recommandée mais vos réponses me permettraient de mieux comprendre le cadre.Zf2 TableGateway

Mon modèle est la suivante:

namespace Album\Model; 

use Zend\Db\TableGateway\TableGateway; 
use Zend\Db\Adapter\Adapter; 

class AlbumTable 
{ 
    public function getAll() 
    { 
     $configArray = ['driver' => 'Pdo_Mysql', 'database' => 'zf2tutorial', 'username' => 'root']; 
     $adapter = new Adapter($configArray); 
     $tableGateway = new TableGateway('Album', $adapter); 
     $resultSet = $tableGateway->select(); 
     return $resultSet; 
    } 
} 

Mon contrôleur:

namespace Album\Controller; 

use Zend\Mvc\Controller\AbstractActionController; 
use Zend\View\Model\ViewModel; 
use Album\Model\AlbumTable; 

class AlbumController extends AbstractActionController 
{ 
    public function indexAction() 
    { 
     $rowset = new AlbumTable(); 
     $rowset->getAll(); 
     return new Viewmodel(array(
      'rows' => $rowset 
     )); 
    } 
} 

correspondant View File:

var_dump($this->rows) 
// outputs: object(Album\Model\AlbumTable)[250]. 

Merci.

Répondre

2

Vous passez l'objet AlbumTable, pas le résultat de getAll() qui renvoie votre ResultSet.

$rows = $rowset->getAll(); 
return new Viewmodel(array(
    'rows' => $rows 
)); 
+0

Merci Andrew. – Ori