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 を取得してデコードする方法を示したかっただけです。
誰でも私を助けることができますか?