2011-01-26 7 views
0

私はケーキには比較的新しいですし、もう一度私は自分が望むものを得る方法を回避する必要があります。私は本当に私が必要とすることを "正しい"方法を見つけることが大好きです。CakePHP 1.3でこのモデルの別のインスタンスに関連するモデルに保存する

私は先月の目標に対してどのようにしたかを見直すために毎月使用される「パフォーマンス」システムを構築しています。

今月のレビューでは、新しい目標が設定され、先月の結果も記録されます。

私はかなりの目標を持っているレビューモデルを持っています。

この月の編集ビューレビュー先月のレビュー&のデータを先月のレビューに関連する目標のいくつかのフィールドから表示します。

私は最後の月ごとに結果を保存する必要があります。また、この月に目標を設定できるようにする必要があります。現在のレビューに関連するゴールにデータを保存しています。

"無関係"の目標を保存しようとすると、CakePHPはreview_idを現在のIDに強制します。私はReview :: afterSaveコールバックでループして各review_idをチェックしてみましたreview_idの値をGoal-> saveに設定すると、データベースは設定したReview IDではなく、現在のReview IDで更新されます。

現在のモデルの別のインスタンスに関連するモデルに保存する "ケーキ"方法を教えてもらえますか?これも可能ですか?

答えて

0

これは最も効果的な方法ではないかもしれませんが、締め切りです。

これで先月のレビューを検索する代わりに、最後の月クエリのIDを見つける副選択を持つfinderQueryを使用して別の「hasMany」関係を作成し、そのreview_idで目標を選択するために使用しました。それは、ここで説明したように、現在のレビューのIDを検索し{$__cakeID__$}を使用しています。

http://book.cakephp.org/view/1039/Associations-Linking-Models-Together#hasMany-1043

すべての相互に関連するケーキが理解できるようにしているので、物事はちょうどSAVEALLに自動的に更新されます。

これは、最後の月を関連付けるばかばかしい副選択クエリがあることを意味します。今月の目標を確認します。ただし、動作します。

いつか私はデータベースを鳴らさないように最適化する方法を考え出します....

関連する問題