如何更新为所有ActiveRecord选定行中的字段添加+1

时间:2012-07-18 13:01:13

标签: php mysql activerecord phpactiverecord

我有这样的代码:

 $ads = Ad::find('all', array('order' => 'select_visits desc', 'limit' => 20, 'conditions'=>array('active = 1')));

我想更新所有$ ads,select_visits字段为select_visits + 1,我该怎么做?

1 个答案:

答案 0 :(得分:1)

一种简单的方法(主动记录方式)是通过查找器的结果,更改并保存它们,但这是非常低效的。

我使用Connection类使用直接SQL语句,如下所示:

Ad::connection()->query('UPDATE ads SET select_visits=select_visits+1 WHERE active=1;');