mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-17 14:57:23 +08:00
Merge pull request #597 from Agrumas/master
Corrections in docs and Model::loadMultiple fix
This commit is contained in:
@@ -136,11 +136,11 @@ Quoting table and column names
|
|||||||
Most of the time you would use the following syntax for quoting table and column names:
|
Most of the time you would use the following syntax for quoting table and column names:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
$sql = "SELECT COUNT({{$column}}) FROM [[$table]]";
|
$sql = "SELECT COUNT([[$column]]) FROM {{$table}}";
|
||||||
$rowCount = $connection->createCommand($sql)->queryScalar();
|
$rowCount = $connection->createCommand($sql)->queryScalar();
|
||||||
```
|
```
|
||||||
|
|
||||||
In the code above `{{X}}` will be converted to properly quoted column name while `[[Y]]` will be converted to properly
|
In the code above `[[X]]` will be converted to properly quoted column name while `{{Y}}` will be converted to properly
|
||||||
quoted table name.
|
quoted table name.
|
||||||
|
|
||||||
The alternative is to quote table and column names manually using [[\yii\db\Connection::quoteTableName()]] and
|
The alternative is to quote table and column names manually using [[\yii\db\Connection::quoteTableName()]] and
|
||||||
|
|||||||
@@ -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,
|
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.
|
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
|
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
|
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
|
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(...);`.
|
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
|
Widgets
|
||||||
-------
|
-------
|
||||||
|
|||||||
@@ -694,7 +694,7 @@ class Model extends Component implements \IteratorAggregate, \ArrayAccess
|
|||||||
$success = true;
|
$success = true;
|
||||||
}
|
}
|
||||||
} elseif (isset($data[$scope][$i])) {
|
} elseif (isset($data[$scope][$i])) {
|
||||||
$model->setAttributes($data[$scope[$i]]);
|
$model->setAttributes($data[$scope][$i]);
|
||||||
$success = true;
|
$success = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user