mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-02 21:41:19 +08:00
Fix #18472: Fix initializing db component configuration
This commit is contained in:
@ -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());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
namespace yiiunit\framework\data;
|
||||
|
||||
use yii\data\ActiveDataProvider;
|
||||
use yii\db\Connection;
|
||||
use yii\db\Query;
|
||||
use yiiunit\TestCase;
|
||||
|
||||
@ -21,6 +22,7 @@ class ActiveDataProviderCloningTest extends TestCase
|
||||
$queryFirst = new Query();
|
||||
|
||||
$dataProviderFirst = new ActiveDataProvider([
|
||||
'db' => new Connection(),
|
||||
'query' => $queryFirst
|
||||
]);
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
Reference in New Issue
Block a user