F3:有没有办法将数组转换为带有其他字段的对象?

时间:2016-05-13 14:31:12

标签: php mysql pdo fat-free-framework

我正在使用Fat Free PHP来使用连接返回查询。因此,结果具有来自另一个表的额外字段。我希望能够将数组转换为对象(即arrayToObjects),但我希望其他字段保持不变。我也希望这能返回我的类的实例,而不是stdClass。

我尝试将其他字段添加到php模型中,但是当我将mysql结果传递给arrayToObjects()时它会丢失值。

这可以实现吗?

3 个答案:

答案 0 :(得分:1)

这是我前段时间学到的一个简单但又脏的技巧。

// Create an array
$array = range('a', 'z');

// Convert array to object
$object = json_decode(json_encode($array));

瞧!包含您希望它具有的所有值的对象。没什么好看的。

答案 1 :(得分:1)

我不是最终解决方案的忠实粉丝,但我手动将值添加到数组中的对象。

例如:

object = new Object();
object->id = array['id']
object->name = array['name']

答案 2 :(得分:0)

您可以为模型添加自定义setter和getter方法,因此它可以加载和保存额外的数组/对象。这对你来说可能是最简单的方法。 您也可以尝试使用F3 cortex orm,它支持内置的关系。