変更の完全なリストは、対応するファイルにあります 。 以前のバージョンからアップグレードする前に、手順を読むことが重要です。
ロシア語のドキュメントは、いつものように、完全に最新の状態です。 さらに、リリース時に見つかったすべてのタイプミスが修正されました。 yiiframework.ruでOrphusを使用しているすべての人に感謝します。
最も興味深い変更を検討してください。
ActiveRecord関係で「スルー」を定義するより便利な方法
しかし、thoughオプションはバージョン1.1.7で追加されましたが、構文はあまり便利ではなかったため、より明確にすることが決定されました。 現在の構文では、次の構文が使用されます。
'comments' => array(self :: HAS_MANY、 'Comment'、array( 'key1' => 'key2')、 'through' => 'posts')、
上記の
array('key1'=>'key2')
:
key1
は、
through
指定されたリレーションで定義されたキーです(この場合、これは
posts
)。
key2
は、リレーションが指すモデルで定義されたキーです(この場合、これは
Comment
)。
throughはHAS_ONEとHAS_MANYの両方に使用できます。
この機能については、完全ガイドの「 リレーショナルアクティブレコード」セクションで詳しく説明しています。
モデルでの条件グループのサポート::リレーション()
モデルの関係を定義するときに条件グループを使用できるようになりました。
'recentApprovedComments' => array(self :: BELONGS_TO、 'Post'、 'post_id'、 'scopes' =>配列( '承認済み'、 '最近'))、
条件のグループを1つだけ使用する場合は、文字列として指定できます。
指定されたキーでモデル間で結合する機能
このバージョンでは、データスキームに依存せずに、特定のペアPK-> FKの関係を作成することが可能になりました。 これは、たとえば、
Day
モデルに次の関係を指定できることを意味します。
'jobs' => array(self :: HAS_MANY、 'Job'、array( 'date' => 'target_date'))、
この場合、
Day
は複数の
Job
が含まれる場合があります。 ただし、通常の方法では接続されていません。 キーを
array('fk'=>'pk')
の形式で設定します。つまり、出力ではSQLのようになります
SELECT * t日から ジョブに参加t.date = job.target_date
Yiiでカーネルクラスをオーバーライドする機能:: $ classMap
Yiiの1.1.5から、事前にクラスをインポートし、明示的なインポートまたは
include
なしでクラスを使用することができました 。 同じアプローチを使用して、カーネルクラスをオーバーライドできます。