【发布时间】:2012-07-18 23:11:13
【问题描述】:
我经常遇到这个问题..
假设..在博客应用程序中,我需要向所有活跃用户发送电子邮件..
我所做的是在用户上一次登录的某些条件大于某个值的情况下编写 findAll..并获取所有用户对象...然后通过所有用户模型对象运行 foreach 并将电子邮件存储在一个数组中,然后使用数组..
换句话说,后端发生的事情是我正在加载整个模型,而我只需要几乎没有0.5% 的信息,然后运行脏代码以获取数组中的值,然后对其进行处理..
在性能和脏代码方面是不是很糟糕..
现在我能想到的其他方法是使用commandBuilder 并编写查询,然后运行相同的脏代码以获取数组中的值..解决了一个性能问题..但正如人们所说在 mvc 框架中编写 sql,不是真是个好主意..
我真正想要的...一些类似的函数,如果它是单列,则为我提供数组中的列值,如果是多列,则以列名作为索引的数组..
所以我想做的是通过扩展 ActiveRecord 或类似的东西来实现它,我想检查的是是否有人已经实现了类似的东西,或者对它有一些想法..:)强>
【问题讨论】:
-
可能他需要选择一些字段而不是所有字段。使用 CDbCriteria::select 获取您需要的字段。
标签: php activerecord yii