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上面的代码将在表中插入一个新行,而您创建$dbZend_Db_Adapter_Abstract-subclass 是Zend_Db::factory(). 请参阅Zend Framework 手册中的编写对数据库的更改以获取更多详细信息和提供的所有功能。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_onbug_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()
));
于 2009-10-01T15:30:48.280 回答
0

实例化您需要的任何对象并对其进行序列化。序列化后,您可以将其存储或传输到几乎任何介质。这是你指的吗?

于 2009-10-01T15:28:43.823 回答