1

我正在从 MySQL 数据库中获取数据。结果以对象的形式返回。

然后我可以像这样访问数据:

$db_data->row

在 foreach 循环中,我通过添加一个数组来更改 $db_data,例如:

foreach ($db_data as $data) $db_data->row->new_data = array('key' => 'value');

现在可以通过以下方式访问新数据:

$db_data->row->new_data['key']

这是好还是坏的做法?

如果通常认为这是不好的做法,那么更改数据库对象的正确方法是什么?


编辑:

根据评论,我想澄清这个问题:

我不想更改数据库中的数据。我在这里所做的是将数据添加到我的 php 应用程序 (Laravel 4 btw.) 中的数据库类返回的对象中。

所以我的问题是关于将对象与数组一起扔,以及这是好还是坏的做法

4

3 回答 3

3

作为个人意见,我不明白为什么这是一个不好的做法。
在我看来,这取决于你的程序,这是一件很自然的事情,
它并没有真正引起混乱。

你应该注意的一点是你可以做$var["key a"]但你不能做$obj->key a

于 2013-07-05T21:59:52.187 回答
2

对我来说,这听起来像是您将数据存储在写入数据库表中的字段的 php 序列化对象中。

如果是这样,这使得在不获取记录并首先对其进行反序列化的情况下访问该数据中的值几乎是不可能的。在某种程度上违背了使用关系数据库的意义。

于 2013-07-05T23:33:20.957 回答
1

从我的角度来看,我认为
您所做的事情没有任何问题,
我不认为这是一种不好的做法

我只是认为,如果你知道你在做什么,你会得到你想要的结果,
永远不要关心你是怎么做的,just do it......^_^

于 2013-07-05T22:56:57.097 回答