Commit 179618c6 by Carsten Brandt

fixed empty result in findByPk list

parent b95c056b
...@@ -315,9 +315,12 @@ class ActiveQuery extends \yii\base\Component ...@@ -315,9 +315,12 @@ class ActiveQuery extends \yii\base\Component
foreach($pks as $pk) { foreach($pks as $pk) {
if (++$i > $start && ($this->limit === null || $i <= $start + $this->limit)) { if (++$i > $start && ($this->limit === null || $i <= $start + $this->limit)) {
$key = $modelClass::tableName() . ':a:' . $modelClass::buildKey($pk); $key = $modelClass::tableName() . ':a:' . $modelClass::buildKey($pk);
$data[] = $db->executeCommand('HGETALL', array($key)); $result = $db->executeCommand('HGETALL', array($key));
if ($type === 'One' && $this->orderBy === null) { if (!empty($result)) {
break; $data[] = $result;
if ($type === 'One' && $this->orderBy === null) {
break;
}
} }
} }
} }
......
...@@ -97,6 +97,10 @@ class ActiveRecordTest extends RedisTestCase ...@@ -97,6 +97,10 @@ class ActiveRecordTest extends RedisTestCase
$this->assertEquals('user2', $customer->name); $this->assertEquals('user2', $customer->name);
$customer = Customer::find(5); $customer = Customer::find(5);
$this->assertNull($customer); $this->assertNull($customer);
$customer = Customer::find(array('id' => array(5, 6, 1)));
$this->assertEquals(1, count($customer));
$customer = Customer::find()->where(array('id' => array(5, 6, 1)))->one();
$this->assertNotNull($customer);
// query scalar // query scalar
$customerName = Customer::find()->where(array('id' => 2))->scalar('name'); $customerName = Customer::find()->where(array('id' => 2))->scalar('name');
......
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