Commit c3216bd0 by Qiang Xue

renamed indexBy to be index.

parent 769a114d
......@@ -74,21 +74,21 @@ class ActiveFinder extends \yii\base\Object
$rows = $command->queryAll();
$records = array();
if ($query->asArray) {
if ($query->indexBy === null) {
if ($query->index === null) {
return $rows;
}
foreach ($rows as $row) {
$records[$row[$query->indexBy]] = $row;
$records[$row[$query->index]] = $row;
}
} else {
$class = $query->modelClass;
if ($query->indexBy === null) {
if ($query->index === null) {
foreach ($rows as $row) {
$records[] = $class::create($row);
}
} else {
foreach ($rows as $row) {
$records[$row[$query->indexBy]] = $class::create($row);
$records[$row[$query->index]] = $class::create($row);
}
}
}
......@@ -125,10 +125,10 @@ class ActiveFinder extends \yii\base\Object
$joinTree->createRecord($row);
}
if ($query->indexBy !== null) {
if ($query->index !== null) {
$records = array();
foreach ($joinTree->records as $record) {
$records[$record[$query->indexBy]] = $record;
$records[$record[$query->index]] = $record;
}
return $records;
} else {
......
......@@ -524,8 +524,8 @@ abstract class ActiveRecord extends Model
public function addRelatedRecord($relation, $record)
{
if ($relation->hasMany) {
if ($relation->indexBy !== null) {
$this->_related[$relation->name][$record->{$relation->indexBy}] = $record;
if ($relation->index !== null) {
$this->_related[$relation->name][$record->{$relation->index}] = $record;
} else {
$this->_related[$relation->name][] = $record;
}
......
......@@ -34,7 +34,7 @@ class BaseActiveQuery extends BaseQuery
* @var string the name of the column that the result should be indexed by.
* This is only useful when the query result is returned as an array.
*/
public $indexBy;
public $index;
/**
* @var boolean whether to return each record as an array. If false (default), an object
* of [[modelClass]] will be created to represent each record.
......@@ -61,9 +61,9 @@ class BaseActiveQuery extends BaseQuery
return $this;
}
public function indexBy($column)
public function index($column)
{
$this->indexBy = $column;
$this->index = $column;
return $this;
}
......
......@@ -111,8 +111,8 @@ class JoinElement extends \yii\base\Object
continue;
}
if ($child->query->hasMany) {
if ($child->query->indexBy !== null) {
$hash = $childRecord[$child->query->indexBy];
if ($child->query->index !== null) {
$hash = $childRecord[$child->query->index];
} else {
$hash = serialize($childRecord->getPrimaryKey());
}
......
......@@ -217,8 +217,8 @@ class ActiveRecordTest extends \yiiunit\MysqlTestCase
$customers = Customer::find()->order('id')->asArray()->all();
$this->assertEquals('user2', $customers[1]['name']);
// indexBy
$customers = Customer::find()->order('id')->indexBy('name')->all();
// index
$customers = Customer::find()->order('id')->index('name')->all();
$this->assertEquals(2, $customers['user2']['id']);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment