mirror of
https://github.com/yiisoft/yii.git
synced 2026-03-12 19:16:54 +01:00
68 lines
4.8 KiB
Plaintext
68 lines
4.8 KiB
Plaintext
Оновлення з версії 1.0 до версії 1.1
|
||
=====================================
|
||
|
||
Зміни, повʼязані із сценаріями моделі
|
||
-------------------------------------
|
||
|
||
- Вилучений метод [safeAttributes()|CModel::safeAttributes]. Відтепер, щоб бути
|
||
валідованими, безпечні атрибути визначаються правилами, визначеними у
|
||
методі [rules()|CModel::rules] для конкретного сценарію.
|
||
|
||
- Змінені методи [validate()|CModel::validate],
|
||
[beforeValidate()|CModel::beforeValidate],
|
||
[afterValidate()|CModel::afterValidate].
|
||
[setAttributes()|CModel::setAttributes],
|
||
[getSafeAttributeNames()|CModel::getSafeAttributeNames] та
|
||
параметр 'scenario' видалені. Ви повинні отримувати та встановлювати сценарій моделі через
|
||
властивість [CModel::scenario].
|
||
|
||
- Змінений метод [getValidators()|CModel::getValidators] та видалений
|
||
[getValidatorsForAttribute()|CModel::getValidatorsForAttribute].
|
||
CModel::getValidators() відтепер повертає тільки валідатори, які застосовуються до сценарію, визначеному
|
||
властивістю сценарія моделі ([CModel::scenario]).
|
||
|
||
- Змінені методи [isAttributeRequired()|CModel::isAttributeRequired] та
|
||
[CModel::getValidatorsForAttribute()]. Параметр сценарія видалений. Замість нього
|
||
слід використовувати властивість сценарія моделі.
|
||
|
||
- Видалено властивість CHtml::scenario. CHtml відтепер використовує сценарій, зазначений у моделі.
|
||
|
||
|
||
Зміни, повʼязані із 'жадібним' завантаженням для відношень Active Record
|
||
----------------------------------------------------------------------
|
||
|
||
- За замовчуванням для всіх відношень, включених до 'жадібного' завантаження, буде
|
||
згенеровано і виконано один вираз з використанням JOIN. Якщо в основній таблиці
|
||
є опції запиту `LIMIT` або `OFFSET`, то спочатку буде виконаний цей
|
||
запит, а потім інший SQL-запит, який повертає всі звʼязані обʼєкти.
|
||
Раніше, у версії 1.0.x, за замовчуванням виконувались `N+1` SQL-запитів, якщо
|
||
'жадібне' завантаження включало `N` відношень `HAS_MANY` або `MANY_MANY`.
|
||
|
||
|
||
Зміни, повʼязані із псевдонімами таблиць у відношеннях Active Record
|
||
--------------------------------------------------------------------
|
||
|
||
- Тепер псевдонім за замовчуванням для звʼязанної таблиці такий самий, як і
|
||
відповідне імʼя відношення. Раніше, у версії 1.0.x, за замовчуванням Yii
|
||
автоматично генерував псевдонім таблиці для кожної звʼязанної таблиці,
|
||
и ми повинні були використовувати префікс `??.` для посилання на цей автоматично
|
||
згенерований псевдонім.
|
||
|
||
- Псевдонім для головної таблиці у AR запиті відтепер завжди рівен `t`.
|
||
У версії 1.0.x, він відповідав імені таблиці. Дана зміна ламає код
|
||
існуючих запитів AR у тому випадку, коли у якості псевдоніма було використано
|
||
імʼя таблиці. Рішення — замінити такі псевдоніми на 't.'.
|
||
|
||
Зміни, повʼязані із табличним (пакетним) введенням даних
|
||
--------------------------------------------------------
|
||
|
||
- Для імен полів використання запису виду `поле[$i]` більше невірне. Вони
|
||
повинні виглядати так — `[$i]поле`, щоб була можливість підтримки
|
||
множинного введення однотипних полів (наприклад, `[$i]поле[$index]`).
|
||
|
||
Інші зміни
|
||
----------
|
||
|
||
- Змінений конструктор [CActiveRecord]. Перший параметр (список атрибутів) прибраний.
|
||
|
||
<div class="revision">$Id: upgrade.txt 2305 2010-08-06 10:27:11Z alexander.makarow $</div> |