Added support for using callables as "ActiveQuery::indexBy".

This commit is contained in:
Qiang Xue
2013-07-08 21:25:00 -04:00
parent 23deeab4be
commit aa568aacb5
2 changed files with 37 additions and 5 deletions

View File

@ -84,6 +84,15 @@ class ActiveRecordTest extends DatabaseTestCase
$this->assertTrue($customers['user1'] instanceof Customer);
$this->assertTrue($customers['user2'] instanceof Customer);
$this->assertTrue($customers['user3'] instanceof Customer);
// indexBy callable
$customers = Customer::find()->indexBy(function($customer) {
return $customer->id . '-' . $customer->name;
})->orderBy('id')->all();
$this->assertEquals(3, count($customers));
$this->assertTrue($customers['1-user1'] instanceof Customer);
$this->assertTrue($customers['2-user2'] instanceof Customer);
$this->assertTrue($customers['3-user3'] instanceof Customer);
}
public function testFindBySql()