|
|
|
@ -163,6 +163,26 @@ A model is now associated with a form name returned by its `formName()` method.
|
|
|
|
|
mainly used when using HTML forms to collect user inputs for a model. Previously in 1.1, |
|
|
|
|
this is usually hardcoded as the class name of the model. |
|
|
|
|
|
|
|
|
|
A new methods called `load()` and `Model::loadMultiple()` is introduced to simplify the data population from user inputs |
|
|
|
|
to a model. For example, |
|
|
|
|
|
|
|
|
|
```php |
|
|
|
|
$model = new Post; |
|
|
|
|
if ($model->load($_POST)) {...} |
|
|
|
|
// which is equivalent to: |
|
|
|
|
if (isset($_POST['Post'])) { |
|
|
|
|
$model->attributes = $_POST['Post']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$model->save(); |
|
|
|
|
|
|
|
|
|
$postTags = array(); |
|
|
|
|
$tagsCount = count($_POST['PostTag']); |
|
|
|
|
while($tagsCount-- > 0){ |
|
|
|
|
$postTags[] = new PostTag(array('post_id' => $model->id)); |
|
|
|
|
} |
|
|
|
|
Model::loadMultiple($postTags, $_POST); |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
Yii 2.0 introduces a new method called `scenarios()` to declare which attributes require |
|
|
|
|
validation under which scenario. Child classes should overwrite `scenarios()` to return |
|
|
|
@ -196,18 +216,6 @@ Controllers
|
|
|
|
|
The `render()` and `renderPartial()` methods now return the rendering results instead of directly |
|
|
|
|
sending them out. You have to `echo` them explicitly, e.g., `echo $this->render(...);`. |
|
|
|
|
|
|
|
|
|
A new method called `populate()` is introduced to simplify the data population from user inputs |
|
|
|
|
to a model. For example, |
|
|
|
|
|
|
|
|
|
```php |
|
|
|
|
$model = new Post; |
|
|
|
|
if ($model->load($_POST)) {...} |
|
|
|
|
// which is equivalent to: |
|
|
|
|
if (isset($_POST['Post'])) { |
|
|
|
|
$model->attributes = $_POST['Post']; |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Widgets |
|
|
|
|
------- |
|
|
|
|