1

オブジェクトまたはフォームをデータベースに保存したいと考えています。これを行うための最も簡単な(または通常の)方法を見つけることができないのは私だけです。

多くのチュートリアルを見つけましたが、どれも簡単または最新のものではないようです。誰かがこれで私を助けてくれますか?

Zend Framework のバージョン 1.9.3 を使用しています。

4

2 に答える 2

4

を使用してデータベーステーブルに行を挿入する最も簡単な方法(つまり、最小限のコードを使用する方法)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バリデーターが配置されている場合、フォームに指定された値を使用して新しい行を追加するのは簡単です。$formcreated_onbug_descriptionbug_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()
));
于 2009-10-01T15:30:48.280 に答える
0

必要なオブジェクトをインスタンス化し、シリアル化します。シリアル化されると、それを保存したり、ほとんどすべてのメディアに送信したりできます。これはあなたが言及しているものですか?

于 2009-10-01T15:28:43.823 に答える