需要帮助理解为什么我不能在不使用ServiceManager的情况下查询我的数据库,或者可能是我做错了。我的方法可能不推荐,但你的答案可以帮助我更好地理解框架。
我的模型如下:
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;
}
}
我的控制器:
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
));
}
}
对应的查看文件:
var_dump($this->rows)
// outputs: object(Album\Model\AlbumTable)[250].
感谢。
答案 0 :(得分:2)
您传入的是AlbumTable对象,而不是返回ResultSet的getAll()的结果。
$rows = $rowset->getAll();
return new Viewmodel(array(
'rows' => $rows
));