2011-10-19 5 views
0

これを行うにはcakephpの方法がわかりません。私のモデルは、プログラムの性質上、私はデータベースを反復処理する必要があるため、その値を入れ、その後、それらの値を加算、乗算することにより、各列の値を掛け、CakePHPはDB内のすべての行を繰り返して更新しますか?

Model 
id  column1 column2 column3  sum 
1232  3   5   2 
5474  5   10   4 

今すぐ下記(簡体字)のように見えます各レコードの合計に変換します。私は変数$乗数= 2を持っていたのであれば、例えば、私はこれが最初の行のために起こる持ちたいでしょう:もちろん

(3*$multiplier) + (5*$multiplier) + (2*$multiplier) = 20 


Model 
id  column1  column2 column3  sum 
1232  3   5   2   20 
5474  5   10   4   38 

が、これは非常に単純化されているが、それは私が何をしたいの代表ですする。

これを行うにはcakephpの方法がありますか?私は、データベース内の自動インクリメントID列を持っていませんが、むしろちょうどid列(これは一意です)。

ありがとうございました!

答えて

1

データベースがあなたのためにそれをやってみましょう:

$this->Model->updateAll(array('sum' => 'column1 + column2 + column3')); 

http://book.cakephp.org/view/1031/Saving-Your-Data(セクションupdateAllを参照してください)。

+0

うわー、それは簡単ですか?私はそれを試してみましょう!ありがとうございました! – kurisukun

+0

多かれ少なかれ基本的なSQLです。 'UPDATEモデルSE​​T sum = column1 + column2 + column3;' – deceze

+0

申し訳ありません、それを持っています!私は二重引用符を使用してwasnt:/ – kurisukun

関連する問題