オブジェクトまたはフォームをデータベースに保存したいと考えています。これを行うための最も簡単な(または通常の)方法を見つけることができないのは私だけです。
多くのチュートリアルを見つけましたが、どれも簡単または最新のものではないようです。誰かがこれで私を助けてくれますか?
Zend Framework のバージョン 1.9.3 を使用しています。
オブジェクトまたはフォームをデータベースに保存したいと考えています。これを行うための最も簡単な(または通常の)方法を見つけることができないのは私だけです。
多くのチュートリアルを見つけましたが、どれも簡単または最新のものではないようです。誰かがこれで私を助けてくれますか?
Zend Framework のバージョン 1.9.3 を使用しています。
を使用してデータベーステーブルに行を挿入する最も簡単な方法(つまり、最小限のコードを使用する方法)Zend_Db
は次のとおりです。
$data = array(
'created_on' => '2007-03-22',
'bug_description' => 'Something wrong',
'bug_status' => 'NEW'
);
$db->insert('bugs', $data);
bugs
上記のコードはテーブルに新しい行を挿入します$db
が、Zend_Db_Adapter_Abstract
はで作成した-subclassですZend_Db::factory()
。詳細および提供される機能の全範囲については、ZendFrameworkマニュアルの「データベースへの変更の書き込み」を参照してください。Zend_Db
完全を期すために、上記のコードは次のようなクエリをデータベースに発行します。
INSERT INTO bugs (created_on, bug_description, bug_status)
VALUES ('2007-03-22', 'Something wrong', 'NEW')
次のステップは、を使用したより洗練されたアプローチZend_Db_Table
です。
編集:
適切なフィールドを持つ()があり、適切なフィルターとZend_Form
バリデーターが配置されている場合、フォームに指定された値を使用して新しい行を追加するのは簡単です。$form
created_on
bug_description
bug_status
if ($form->isValid($_POST)) {
$db->insert('bugs', $form->getValues());
}
カスタムオブジェクトの保存も非常に簡単です。
// $bug is your custom object representing a bug
$db->insert('bugs', array(
'created_on' => $bug->getCreatedOn(),
'bug_description' => $bug->getDescription(),
'bug_status' => $bug->getStatus()
));
必要なオブジェクトをインスタンス化し、シリアル化します。シリアル化されると、それを保存したり、ほとんどすべてのメディアに送信したりできます。これはあなたが言及しているものですか?