我正在按照http://framework.zend.com/manual/2.0/en/user-guide/database-and-models.html的教程進行操作,並且已經設置了我的Module::getServiceConfig()
和我的AlbumTable
類,如他們所示。如何在ZF2中執行手動編寫的查詢或存儲過程
現在說我需要執行一個存儲過程來獲得我的結果集...不是標準的SELECT
。我仍然希望結果集是Album
模型的集合。如何才能做到這一點?
這裏是什麼,我已經試過一個例子:
AlbumTable.php:
public function findByArtist($artist) {
$adapter = $this->tableGateway->getAdapter();
$result = $adapter->query(
"EXEC spGetAlbums @artist = :artist",
array(':artist' => $artist)
);
var_dump($result->current());
}
的問題,這是返回的$result
是ArrayObject
個集...不Album
模型的集合。那麼如何執行存儲過程,但仍然可以根據我在Module::getServiceConfig()
中設置的結果來獲得結果?
請不要打擾詢問我的存儲過程正在做什麼......這與此問題無關。點是,它返回與Album
模型兼容的結果。
^不是態度,只是試圖挽救每個人建議我不需要使用存儲過程的時間。
您需要手動將ArrayObjects合併到相冊對象中。因爲在那裏你正在做一個本地的SQL查詢,所以沒有其他的魔法發生;) – Sam
有沒有辦法在'TableGateway'對象上執行本機SQL查詢? – Travesty3