2011-01-19 5 views
1

私は '家は' フィールドID、タイトル、価格 'を有するホーム' をモデル化するためにリンクという名前のテーブルを持っている」CakePHP版で「仮想フィールド」を作成する方法1.2未満

MY問題のJUST分かりやすい例です。

特定のレコードの検索条件に応じてUSER TO USERによって異なる複雑な計算に基づいた 'calculated_price'という名前の仮想フィールドを作成したい。

私はケーキ版1.3でサポートされているとして 『virtual_field』という概念をサポートしていないケーキのバージョン1.2を使用して継続的な改善プロジェクトを持っている

$this->paginate('Home',array('order'=>'calculated_price ASC')); 

を使用してモデル「ホーム」をページ付けしたいこと

だから私は、CakePHPの$ this - >のpaginate()を使用して動的に作成されたフィールド「でオーダー」&をページ分割するにはどうすればよい

....これにソリューションを提供してください。

どのようにケーキ1.3のバーチャルフィールドの概念をサポートするためにケーキ1.2を調整することはできますか?それとも良い解決策はありますか?

+3

[CakePHP 1.2から1.3への移行](http://book.cakephp.org/view/1561/Migrating-from-CakePHP-1-2-to-1-3) – deizel

+0

方法はありますかこの計算された価格はSQLで計算することができますか?例えばSUM(field1、field2) –

答えて

0

各視覚化の実行時に計算が行われるのであれば、なぜ$this->set('calulated_price'=>calculated_price); を使用しないのですか?

+0

それともusersテーブルのフィールドにすることができますか? –

0

唯一のソリューション:

はあなたがモデルのコールバックメソッドなどを経由して価格を計算usersテーブルに「非仮想」フィールドを作成します。 afterSave()

関連する問題