我在 Zend 的文档中找到了这个函数,更具体的在创建模型和数据库表部分 ( http://framework.zend.com/manual/1.12/en/learning.quickstart.create-model.html )。
这是在 Application_Model_GuestbookMapper 中:
public function save(Application_Model_Guestbook $guestbook)
{
$data = array(
'email' => $guestbook->getEmail(),
'comment' => $guestbook->getComment(),
'created' => date('Y-m-d H:i:s'),
);
if (null === ($id = $guestbook->getId())) {
unset($data['id']);
$this->getDbTable()->insert($data);
} else {
$this->getDbTable()->update($data, array('id = ?' => $id));
}
}
现在我想把它集成到我的控制器中,但我不知道怎么做?
我创建了映射器的一个实例,并尝试将信息从我解码的 json 字符串传递给它,但我仍然收到错误...:
public function indexAction()
{
$mapper = new Application_Model_GuestbookMapper();
$db = Zend_Db_Table_Abstract::getDefaultAdapter();
$json = file_get_contents('http://data.appsforghent.be/poi/apotheken.json');
$data = Zend_Json::decode($json);
foreach($data['apotheken'] as $row)
{
$mapper->save();
}
}
我知道我必须将 $data 传递给 save() 函数,但我不知道如何......该模型不适合 json-url,我只是想展示如何检索和解码 json。
有谁能够帮我?