framework/base/Model.php
public function load($data, $formName = null)
    {
        $scope = $formName === null ? $this->formName() : $formName;
        if ($scope === '' && !empty($data)) {
            $this->setAttributes($data);

            return true;
        } elseif (isset($data[$scope])) {
            $this->setAttributes($data[$scope]);

            return true;
        }

        return false;
    }
public function load($data, $formName = null)
    {
        $scope = $formName === null ? $this->formName() : $formName;
        if ($scope === '' && !empty($data)) {
            $this->setAttributes($data);

            return true;
        } elseif (isset($data[$scope])) {
            $this->setAttributes($data[$scope]);

            return true;
        }

        return false;
    }
Populates the model with input data.

This method provides a convenient shortcut for:

```php
if (isset($_POST['FormName'])) {
$model->attributes = $_POST['FormName'];
if ($model->save()) {
// handle success
}
}
```

which, with `load()` can be written as:

```php
if ($model->load($_POST) && $model->save()) {
// handle success
}
```

`load()` gets the `'FormName'` from the model's [[formName()]] method (which you may override), unless the
`$formName` parameter is given. If the form name is empty, `load()` populates the model with the whole of `$data`,
instead of `$data['FormName']`.

Note, that the data being populated is subject to the safety check by [[setAttributes()]].

@param array $data the data array to load, typically `$_POST` or `$_GET`.
@param string $formName the form name to use to load the data into the model.
If not set, [[formName()]] is used.
@return bool whether `load()` found the expected form in `$data`.