TL; DR - どのように私は、大規模のYiiでのプライベートフィールドを割り当てていますか? のYii - 民間分野の大規模な割り当て
StackOverflowの上の任意のYii専門家
? YiiFramework forumsは本当に私を助けませんでした。私のCActiveRecordモデルにプライベートフィールドhired
があります。これは別の関係jobCount
に依存しています。基本的に、そのメンバーに関連付けられた有効なjob
(別のテーブルに格納されている)が少なくとも1つある場合、それらは雇用されているとみなされます。
従来、私はafterFind方法でhired
を設定しますが、それは関係を毎回ロードを意味します。データベースクエリを保存するために、hired
が必要な場合にのみ、関係をロードしたいと思います。だから、私はhired
をプライベートに設定して、関係をロードして一度設定すると、getHired()
が呼び出されます。
これまでのところは良い...
問題は、私は私のCGridViewにhired
フィールドを組み込む一度発生します。私は、はいまたはいいえで簡単なドロップダウンフィルタリングを使用して、列フィルタを使用できるようにしたいと思います。あなたのフィルタを埋めると、CGridViewはGETリクエストを返します。
$model->attributes = $_GET['ModelName'];
明らかに私はhired
もプライベートフィールドであるにもかかわらず、同様に設定したいと思います。 (私はCGridViewの検索を扱いますが、心配しないでください)私はモデルで安全なフィールドにしましたが、設定されません。
setHired()
機能がsetAttribute()
機能がsetAttributes()
機能が
これを行うための正しい方法は何ですか?呼び出されません呼び出されません呼び出されませんか。明らかに、私はちょうど...私のコントローラのアクションに
if (isset($_GET['ModelName']['hired']))
$model->setHired($_GET['ModelName']['hired']);
を余分な行を追加することができます...しかし、私は本当にむしろ民間のフィールドが大量に割り当てることができるようにする方法を学びます。
私はこれがむしろ複雑であることを理解しています。このhired
ビットを合理化できる方法があれば、それを感謝します。それでも、私はこれを行う方法があるかどうかを学びたいと思います。