diff --git a/framework/data/ActiveDataProvider.php b/framework/data/ActiveDataProvider.php index 44d547c..7f9d83c 100644 --- a/framework/data/ActiveDataProvider.php +++ b/framework/data/ActiveDataProvider.php @@ -88,9 +88,7 @@ class ActiveDataProvider extends BaseDataProvider public function init() { parent::init(); - if ($this->db !== null) { - $this->db = Instance::ensure($this->db, Connection::className()); - } + $this->db = Instance::ensure($this->db === null ? 'db' : $this->db, Connection::className()); } /** diff --git a/tests/framework/data/ActiveDataProviderCloningTest.php b/tests/framework/data/ActiveDataProviderCloningTest.php index e4c7adc..836ce81 100644 --- a/tests/framework/data/ActiveDataProviderCloningTest.php +++ b/tests/framework/data/ActiveDataProviderCloningTest.php @@ -8,6 +8,7 @@ namespace yiiunit\framework\data; use yii\data\ActiveDataProvider; +use yii\db\Connection; use yii\db\Query; use yiiunit\TestCase; @@ -19,15 +20,16 @@ class ActiveDataProviderCloningTest extends TestCase public function testClone() { $queryFirst = new Query(); - + $dataProviderFirst = new ActiveDataProvider([ + 'db' => new Connection(), 'query' => $queryFirst ]); - + $dataProviderSecond = clone $dataProviderFirst; - + $querySecond = $dataProviderSecond->query; - + $this->assertNotSame($querySecond, $queryFirst); } } diff --git a/tests/framework/data/ActiveDataProviderTest.php b/tests/framework/data/ActiveDataProviderTest.php index b496dcb..d87f106 100644 --- a/tests/framework/data/ActiveDataProviderTest.php +++ b/tests/framework/data/ActiveDataProviderTest.php @@ -35,6 +35,7 @@ abstract class ActiveDataProviderTest extends DatabaseTestCase public function testActiveQuery() { $provider = new ActiveDataProvider([ + 'db' => $this->getConnection(), 'query' => Order::find()->orderBy('id'), ]); $orders = $provider->getModels(); @@ -45,6 +46,7 @@ abstract class ActiveDataProviderTest extends DatabaseTestCase $this->assertEquals([1, 2, 3], $provider->getKeys()); $provider = new ActiveDataProvider([ + 'db' => $this->getConnection(), 'query' => Order::find(), 'pagination' => [ 'pageSize' => 2, @@ -59,6 +61,7 @@ abstract class ActiveDataProviderTest extends DatabaseTestCase /* @var $customer Customer */ $customer = Customer::findOne(2); $provider = new ActiveDataProvider([ + 'db' => $this->getConnection(), 'query' => $customer->getOrders(), ]); $orders = $provider->getModels(); @@ -68,6 +71,7 @@ abstract class ActiveDataProviderTest extends DatabaseTestCase $this->assertEquals([2, 3], $provider->getKeys()); $provider = new ActiveDataProvider([ + 'db' => $this->getConnection(), 'query' => $customer->getOrders(), 'pagination' => [ 'pageSize' => 1, @@ -82,6 +86,7 @@ abstract class ActiveDataProviderTest extends DatabaseTestCase /* @var $order Order */ $order = Order::findOne(2); $provider = new ActiveDataProvider([ + 'db' => $this->getConnection(), 'query' => $order->getItems(), ]); $items = $provider->getModels(); @@ -92,6 +97,7 @@ abstract class ActiveDataProviderTest extends DatabaseTestCase $this->assertEquals([3, 4, 5], $provider->getKeys()); $provider = new ActiveDataProvider([ + 'db' => $this->getConnection(), 'query' => $order->getItems(), 'pagination' => [ 'pageSize' => 2, @@ -106,6 +112,7 @@ abstract class ActiveDataProviderTest extends DatabaseTestCase /* @var $order Order */ $order = Order::findOne(1); $provider = new ActiveDataProvider([ + 'db' => $this->getConnection(), 'query' => $order->getBooks(), ]); $items = $provider->getModels(); @@ -114,6 +121,7 @@ abstract class ActiveDataProviderTest extends DatabaseTestCase $this->assertInstanceOf(Item::className(), $items[1]); $provider = new ActiveDataProvider([ + 'db' => $this->getConnection(), 'query' => $order->getBooks(), 'pagination' => [ 'pageSize' => 1, diff --git a/tests/framework/widgets/LinkSorterTest.php b/tests/framework/widgets/LinkSorterTest.php index ae1a75e..baf2221 100644 --- a/tests/framework/widgets/LinkSorterTest.php +++ b/tests/framework/widgets/LinkSorterTest.php @@ -34,6 +34,7 @@ class LinkSorterTest extends DatabaseTestCase public function testLabelsSimple() { $dataProvider = new ActiveDataProvider([ + 'db' => $this->getConnection(), 'query' => Order::find(), 'models' => [new Order()], 'totalCount' => 1, @@ -58,6 +59,7 @@ class LinkSorterTest extends DatabaseTestCase public function testLabelsExplicit() { $dataProvider = new ActiveDataProvider([ + 'db' => $this->getConnection(), 'query' => Order::find(), 'models' => [new Order()], 'totalCount' => 1,