php - 如何更新将 +1 添加到所有 ActiveRecord 选定行中的字段

标签 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,我该如何执行此操作?

最佳答案

一种简单的方法(activerecord 方法)是浏览查找器的结果,更改并保存它们,但效率极低。

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

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

关于php - 如何更新将 +1 添加到所有 ActiveRecord 选定行中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11542022/

相关文章:

ruby-on-rails - 如何在 Rails 3 中订购包含的元素

ruby-on-rails - 哪些记录受 ActiveRecord 依赖 : destroy?

javascript - 从 MYSQL 表中获取 user_id 并使用 Jquery 设置 HTML 属性(img src、href 链接、h3 标签)

php - Zend SQL - 条件 where 子句

php - 运行多个 PHP MySQL 查询

php - 从包含数组的 foreach PHP 插入数据

python - 使用 MySQLdb 返回值 - Python

ruby-on-rails - ActiveRecord 在测试中的奇怪行为

php - 使用 PHP 时区偏移

php - 使用 jscript 显示/隐藏 div