作为数组而不是 DataMapper ORM 集合对象获取

Posted

技术标签:

【中文标题】作为数组而不是 DataMapper ORM 集合对象获取【英文标题】:Getting as an array rather than a DataMapper ORM collection object 【发布时间】:2011-04-18 11:31:17 【问题描述】:

我在我的 CodeIgniter 项目中使用DataMapper ORM。

我遇到的问题是,当我使用以下代码时:

$o = new Object();
$o->get();

$o 成为 DataMapper ORM 集合对象而不是数组。

我知道我仍然可以使用 foreach 循环遍历集合,但其他 php 数组函数(例如 array_pop,array_splice)仍然无法在其上使用。

我想知道DataMapper ORM是否提供任何函数将其作为数组返回。

非常感谢大家。

【问题讨论】:

【参考方案1】:

使用 DataMapper 的 $o->all 属性而不是 $o->get() 方法返回一个数组。

【讨论】:

真棒@bobo,我很高兴能帮上忙。 $o->All 如果有相关对象,则不返回所有值。 仅在当前对象上获取关系。 $o->all 是一个对象数组。如果需要数组,可以使用 Array 扩展,它引入了 to_array() 和 all_to_array() 方法。

以上是关于作为数组而不是 DataMapper ORM 集合对象获取的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter Datamapper ORM php 7静态问题

在 Datamapper ORM 中循环更改对象

CodeIgniter DataMapper ORM 如何知道要应用哪组验证规则?

CodeIgniter 和 DataMapper ORM

使用 DataMapper ORM for php 映射字段名称

DataMapper ORM - 如何获取所有模型和每个实例的相关数据