【发布时间】:2017-03-29 13:16:21
【问题描述】:
我可以在 MySql 数据库中存储一些对象吗?因为我是用MySql做一个线上或者线下的支持系统。因此,将所有数据存储为 Object 很重要。除了 Object,你还有更好的 Idea 吗?
这是关于对象的Damo示例
$data = array(
'user_id' => 1, //$userId,
'payment_id' => $payment_id,
'hash' => $hash,
'conversation' => $object,
'amount' => $paypal->getTransactions()[0]->getAmount()->getTotal(),
'description' => $paypal->getTransactions()[0]->getDescription()
);
$this->db->insert($this->table, $data);
【问题讨论】:
-
你想要什么。您的表中有多少列?
-
您必须拥有数据库中的每个键,然后根据该键插入。像
"INSERT INTO something (someKey1,someKey2) VALUES ('{$somevalue->someKey1}', '{$somevalue->someKey2}');"这样的查询对象将具有与键匹配的属性。 -
无论如何你都可以在插入之前序列化这些对象
-
@AlexSlipknot 你可以序列化它——但我不会;它打破了规范化规则并将数据与应用程序联系起来;序列化的 PHP 数据对于读取数据库的其他任何内容都毫无用处。简而言之 - 这通常是一个糟糕的主意。
-
@CD001 好吧,如果对象很简单,你可以。如果没有 - 您可以使用 __sleep 实现自己的序列化
标签: php mysql codeigniter