0

私はこのようなコードを持っています:

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

すべての $ads の select_visits フィールドを select_visits+1 に更新したいのですが、どうすればよいですか?

4

1 に答える 1

1

1 つの簡単な方法 (activerecord の方法) は、ファインダーの結果を確認し、変更して保存することですが、これは非常に非効率的です。

次のように、Connection クラスを使用して直接 SQL ステートメントを使用します。

Ad::connection()->query('UPDATE ads SET select_visits=select_visits+1 WHERE active=1;');
于 2012-07-18T15:04:35.540 に答える