Merge pull request #4543 from slavcodev/refactoring-query

Refactored ActiveQuery::one() to be consistent with all() creation
This commit is contained in:
Qiang Xue
2014-07-31 10:52:01 -04:00

View File

@@ -242,24 +242,8 @@ class ActiveQuery extends Query implements ActiveQueryInterface
{ {
$row = parent::one($db); $row = parent::one($db);
if ($row !== false) { if ($row !== false) {
if ($this->asArray) { $models = $this->prepareResult([$row]);
$model = $row; return reset($models) ?: null;
} else {
/* @var $class ActiveRecord */
$class = $this->modelClass;
$model = $class::instantiate($row);
$class::populateRecord($model, $row);
}
if (!empty($this->with)) {
$models = [$model];
$this->findWith($this->with, $models);
$model = $models[0];
}
if (!$this->asArray) {
$model->afterFind();
}
return $model;
} else { } else {
return null; return null;
} }