例...Yiiモデルでテーブルフィールドを保護して、モデルにゲッタ/セッターを強制する方法はありますか?
人 - テーブルのフィールド:
- id_person
- 名
さて、私は私のコードでモデルの$の人を持っていると仮定してみましょう。私はいつも$person->name='TheName'
と呼ばれていました.Yiiは私のカスタマイズした機能$person->setName('TheName')
と呼ばれ、セッターを強制しています。
これを達成する方法はありますか?
私はモデルの属性をprotected/privateにしようとしましたが、動作しません。 Yiiはのように見えます。 setter/getterを呼び出して、その属性がテーブルに存在するかどうかを確認してください。属性が存在する場合、yiiはそれを設定し、setterは呼び出されません。
ありがとうございます。
UPDATE:私はすでにシステムで$ model-> attribXを多用していますが、今は$ model-> attribXが変更されたためにいくつかの '連鎖'更新をトリガーするように実装する必要があります。 '$ model-> attribX'のすべてを '$ model-> changeAttribX(...)'のように変更する必要はありません。
ありがとうございました。私はこれを慎重に確認します。それは私の問題を解決するようです。理由については、私は質問を更新しました。 – slinstj