本文整理汇总了PHP中Magento\Framework\Model\Resource\Db\AbstractDb类的典型用法代码示例。如果您正苦于以下问题:PHP AbstractDb类的具体用法?PHP AbstractDb怎么用?PHP AbstractDb使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了AbstractDb类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setUp
/**
* Mock class dependencies
*/
protected function setUp()
{
$this->entityFactoryMock = $this->getMock('Magento\\Framework\\Data\\Collection\\EntityFactory', [], [], '', false);
$this->fetchStrategyMock = $this->getMockForAbstractClass('Magento\\Framework\\Data\\Collection\\Db\\FetchStrategyInterface');
$this->eventManagerMock = $this->getMock('Magento\\Framework\\Event\\ManagerInterface', [], [], '', false);
$this->selectMock = $this->getMock('Zend_Db_Select', [], [], '', false);
$this->connectionMock = $this->getMock('Magento\\Framework\\DB\\Adapter\\Pdo\\Mysql', [], [], '', false);
$this->connectionMock->expects($this->atLeastOnce())->method('select')->will($this->returnValue($this->selectMock));
$this->resourceMock = $this->getMock('Magento\\Framework\\Model\\Resource\\Db\\AbstractDb', [], [], '', false);
$this->resourceMock->expects($this->any())->method('getReadConnection')->will($this->returnValue($this->connectionMock));
$objectManager = new ObjectManager($this);
$this->collection = $objectManager->getObject('Magento\\Quote\\Model\\Resource\\Quote\\Item\\Collection', ['entityFactory' => $this->entityFactoryMock, 'fetchStrategy' => $this->fetchStrategyMock, 'eventManager' => $this->eventManagerMock, 'resource' => $this->resourceMock]);
}
示例2: setUp
protected function setUp()
{
$this->storeManager = $this->getMock('Magento\\Store\\Model\\StoreManagerInterface');
$this->select = $this->getMock('Zend_Db_Select', ['from', 'where'], [], '', false);
$this->adapter = $this->getMock('Magento\\Framework\\DB\\Adapter\\Pdo\\Mysql', ['select', 'prepareSqlCondition', 'quoteIdentifier'], [], '', false);
$this->resource = $this->getMockForAbstractClass('Magento\\Framework\\Model\\Resource\\Db\\AbstractDb', [], '', false, true, true, ['getReadConnection', '__wakeup', 'getMainTable', 'getTable']);
$this->select->expects($this->any())->method('where')->will($this->returnSelf());
$this->adapter->expects($this->any())->method('select')->will($this->returnValue($this->select));
$this->adapter->expects($this->any())->method('quoteIdentifier')->will($this->returnArgument(0));
$this->resource->expects($this->any())->method('getReadConnection')->will($this->returnValue($this->adapter));
$this->resource->expects($this->any())->method('getMainTable')->will($this->returnValue('test_main_table'));
$this->resource->expects($this->any())->method('getTable')->with('test_main_table')->will($this->returnValue('test_main_table'));
$this->collection = (new ObjectManager($this))->getObject('Magento\\UrlRewrite\\Model\\Resource\\UrlRewriteCollection', ['storeManager' => $this->storeManager, 'resource' => $this->resource]);
}
示例3: setUp
protected function setUp()
{
$this->fetchStrategyMock = $this->getMock('Magento\\Framework\\Data\\Collection\\Db\\FetchStrategy\\Query', ['fetchAll'], [], '', false);
$this->entityFactoryMock = $this->getMock('Magento\\Framework\\Data\\Collection\\EntityFactory', ['create'], [], '', false);
$this->loggerMock = $this->getMock('Psr\\Log\\LoggerInterface');
$this->resourceMock = $this->getMockBuilder('Magento\\Framework\\Model\\Resource\\Db\\AbstractDb')->setMethods(['getReadConnection', 'getMainTable', 'getTable'])->disableOriginalConstructor()->getMockForAbstractClass();
$this->adapterMock = $this->getMock('Zend_Db_Adapter_Pdo_Mysql', ['select', 'query'], [], '', false);
$this->selectMock = $this->getMock('Magento\\Framework\\DB\\Select', ['from'], ['adapter' => $this->adapterMock]);
$this->adapterMock->expects($this->once())->method('select')->will($this->returnValue($this->selectMock));
$this->resourceMock->expects($this->once())->method('getReadConnection')->will($this->returnValue($this->adapterMock));
$this->resourceMock->expects($this->once())->method('getMainTable')->willReturn('main_table_name');
$this->resourceMock->expects($this->once())->method('getTable')->will($this->returnArgument(0));
$objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
$this->collection = $objectManager->getObject('Magento\\Review\\Model\\Resource\\Review\\Summary\\Collection', ['entityFactory' => $this->entityFactoryMock, 'logger' => $this->loggerMock, 'fetchStrategy' => $this->fetchStrategyMock, 'resource' => $this->resourceMock]);
}
示例4: testPrepareDataForUpdate
public function testPrepareDataForUpdate()
{
$adapterInterfaceMock = $this->getMock('\\Magento\\Framework\\DB\\Adapter\\AdapterInterface', [], [], '', false);
$context = (new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this))->getObject('Magento\\Framework\\Model\\Context');
$registryMock = $this->getMock('\\Magento\\Framework\\Registry', [], [], '', false);
$resourceMock = $this->getMock('Magento\\Framework\\Model\\Resource\\Db\\AbstractDb', ['_construct', '_getReadAdapter', '_getWriteAdapter', '__wakeup', 'getIdFieldName'], [], '', false);
$adapterMock = $this->getMock('Magento\\Framework\\DB\\Adapter\\AdapterInterface', [], [], '', false);
$resourceMock->expects($this->any())->method('_getWriteAdapter')->will($this->returnValue($adapterMock));
$resourceCollectionMock = $this->getMockBuilder('Magento\\Framework\\Data\\Collection\\AbstractDb')->disableOriginalConstructor()->getMockForAbstractClass();
$abstractModelMock = $this->getMockForAbstractClass('Magento\\Framework\\Model\\AbstractModel', [$context, $registryMock, $resourceMock, $resourceCollectionMock]);
$data = 'tableName';
$this->_resourcesMock->expects($this->any())->method('getConnection')->will($this->returnValue($adapterInterfaceMock));
$this->_resourcesMock->expects($this->any())->method('getTableName')->with($data)->will($this->returnValue('tableName'));
$this->_resourcesMock->expects($this->any())->method('_getWriteAdapter')->will($this->returnValue($adapterInterfaceMock));
$mainTableReflection = new \ReflectionProperty('Magento\\Framework\\Model\\Resource\\Db\\AbstractDb', '_mainTable');
$mainTableReflection->setAccessible(true);
$mainTableReflection->setValue($this->_model, 'tableName');
$idFieldNameReflection = new \ReflectionProperty('Magento\\Framework\\Model\\Resource\\Db\\AbstractDb', '_idFieldName');
$idFieldNameReflection->setAccessible(true);
$idFieldNameReflection->setValue($this->_model, 'idFieldName');
$adapterInterfaceMock->expects($this->any())->method('save')->with('tableName', 'idFieldName');
$adapterInterfaceMock->expects($this->any())->method('quoteInto')->will($this->returnValue('idFieldName'));
$abstractModelMock->setIdFieldName('id');
$abstractModelMock->setData(['id' => 12345, 'name' => 'Test Name', 'value' => 'Test Value']);
$abstractModelMock->afterLoad();
$this->assertEquals($abstractModelMock->getData(), $abstractModelMock->getStoredData());
$newData = ['value' => 'Test Value New'];
$this->_model->expects($this->once())->method('_prepareDataForTable')->will($this->returnValue($newData));
$abstractModelMock->addData($newData);
$this->assertNotEquals($abstractModelMock->getData(), $abstractModelMock->getStoredData());
$abstractModelMock->isObjectNew(false);
$adapterInterfaceMock->expects($this->once())->method('update')->with('tableName', $newData, 'idFieldName');
$this->_model->save($abstractModelMock);
}
示例5: getFulltextIndexColumns
/**
* Returns list of columns from fulltext index (doesn't support more then one FTI per table)
*
* @param DbResource $resource
* @param string $indexTable
* @return array
* @throws \Magento\Framework\Exception\LocalizedException
*/
protected function getFulltextIndexColumns(DbResource $resource, $indexTable)
{
$indexes = $resource->getReadConnection()->getIndexList($indexTable);
foreach ($indexes as $index) {
if (strtoupper($index['INDEX_TYPE']) == 'FULLTEXT') {
return $index['COLUMNS_LIST'];
}
}
return [];
}
示例6: testGetConnectionInMemoryCaching
/**
* Test that the model detects a connection when it becomes active
*/
public function testGetConnectionInMemoryCaching()
{
$string = $this->getMock('Magento\\Framework\\Stdlib\\String', [], [], '', false);
$dateTime = $this->getMock('Magento\\Framework\\Stdlib\\DateTime', null, [], '', true);
$logger = $this->getMockForAbstractClass('Magento\\Framework\\DB\\LoggerInterface');
$connection = new \Magento\Framework\DB\Adapter\Pdo\Mysql($string, $dateTime, $logger, ['dbname' => 'test_dbname', 'username' => 'test_username', 'password' => 'test_password']);
$this->_resource->expects($this->atLeastOnce())->method('getConnection')->with('core_read')->will($this->onConsecutiveCalls(false, $connection, false));
$this->assertFalse($this->_model->getReadConnection());
$this->assertSame($connection, $this->_model->getReadConnection(), 'Inactive connection should not be cached');
$this->assertSame($connection, $this->_model->getReadConnection(), 'Active connection should be cached');
}
示例7: testSetMainTable
public function testSetMainTable()
{
$setMainTableMethod = new \ReflectionMethod($this->_model, '_setMainTable');
$setMainTableMethod->setAccessible(true);
$tableName = $this->_model->getTable('store_website');
$idFieldName = 'website_id';
$setMainTableMethod->invoke($this->_model, $tableName);
$this->assertEquals($tableName, $this->_model->getMainTable());
$setMainTableMethod->invoke($this->_model, $tableName, $idFieldName);
$this->assertEquals($tableName, $this->_model->getMainTable());
$this->assertEquals($idFieldName, $this->_model->getIdFieldName());
}
示例8: testAddStoreFilter
/**
* @param mixed $ignoreData
* @param 'string' $ignoreSql
* @dataProvider ignoresDataProvider
* @return void
*/
public function testAddStoreFilter($ignoreData, $ignoreSql)
{
$typeId = 1;
$subjectId = 2;
$subtype = 3;
$limit = 0;
$stores = [1, 2];
$this->resourceMock->expects($this->once())->method('getCurrentStoreIds')->willReturn($stores);
$this->selectMock->expects($this->at(0))->method('where')->with('event_type_id = ?', $typeId);
$this->selectMock->expects($this->at(1))->method('where')->with('subject_id = ?', $subjectId);
$this->selectMock->expects($this->at(2))->method('where')->with('subtype = ?', $subtype);
$this->selectMock->expects($this->at(3))->method('where')->with('store_id IN(?)', $stores);
$this->selectMock->expects($this->at(4))->method('where')->with($ignoreSql, $ignoreData);
$this->collection->addRecentlyFiler($typeId, $subjectId, $subtype, $ignoreData, $limit);
}
示例9: testGetFields
public function testGetFields()
{
$entityTable = 'entity_table';
$expectedDescribedTable = ['field1' => null, 'field2' => null];
$expectedAttributes = ['attribute1' => 'value1', 'attribute2' => 'value2'];
$expectedResults = array_merge($expectedDescribedTable, $expectedAttributes);
$this->resource->expects($this->any())->method('getEntityTable')->willReturn($entityTable);
$this->connection->expects($this->once())->method('describeTable')->with($entityTable)->willReturn($expectedDescribedTable);
$this->model->expects($this->any())->method('getAttributes')->willReturn($expectedAttributes);
//check that fields load with null initial value
$this->assertEquals(array_fill_keys(array_keys($expectedResults), null), $this->metadata->getFields($this->model));
// Testing loading data from cache.
$this->connection->expects($this->never())->method('describeTable');
$this->assertEquals(array_fill_keys(array_keys($expectedResults), null), $this->metadata->getFields($this->model));
}
示例10: __construct
/**
* @param \Magento\Framework\Model\Resource\Db\Context $context
* @param \Magento\Customer\Model\Session $customerSession
* @param \Magento\Review\Model\Rating\Option\VoteFactory $ratingOptionVoteF
* @param \Magento\Framework\HTTP\PhpEnvironment\RemoteAddress $remoteAddress
* @param string|null $resourcePrefix
*/
public function __construct(\Magento\Framework\Model\Resource\Db\Context $context, \Magento\Customer\Model\Session $customerSession, \Magento\Review\Model\Rating\Option\VoteFactory $ratingOptionVoteF, \Magento\Framework\HTTP\PhpEnvironment\RemoteAddress $remoteAddress, $resourcePrefix = null)
{
$this->_customerSession = $customerSession;
$this->_ratingOptionVoteF = $ratingOptionVoteF;
$this->_remoteAddress = $remoteAddress;
parent::__construct($context, $resourcePrefix);
}
示例11: __construct
/**
* Construct
*
* @param \Magento\Framework\Model\Resource\Db\Context $context
* @param \Magento\Catalog\Model\Product\Visibility $catalogProductVisibility
* @param Advanced $searchResource
* @param \Magento\CatalogSearch\Helper\Data $catalogSearchData
* @param string|null $resourcePrefix
*/
public function __construct(\Magento\Framework\Model\Resource\Db\Context $context, \Magento\Catalog\Model\Product\Visibility $catalogProductVisibility, \Magento\CatalogSearch\Model\Resource\Advanced $searchResource, \Magento\CatalogSearch\Helper\Data $catalogSearchData, $resourcePrefix = null)
{
$this->_catalogProductVisibility = $catalogProductVisibility;
$this->_searchResource = $searchResource;
$this->_catalogSearchData = $catalogSearchData;
parent::__construct($context, $resourcePrefix);
}
示例12: __construct
/**
* @param \Magento\Framework\App\Resource $resource
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
* @param \Magento\Store\Model\WebsiteFactory $websiteFactory
* @param \Magento\Eav\Model\Config $eavConfig
*/
public function __construct(\Magento\Framework\App\Resource $resource, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Store\Model\WebsiteFactory $websiteFactory, \Magento\Eav\Model\Config $eavConfig)
{
parent::__construct($resource);
$this->_storeManager = $storeManager;
$this->_websiteFactory = $websiteFactory;
$this->eavConfig = $eavConfig;
}
示例13: __construct
/**
* @param \Magento\Framework\Model\Resource\Db\Context $context
* @param \Magento\Framework\Stdlib\DateTime\DateTime $date
* @param \Magento\Framework\Event\ManagerInterface $eventManager
* @param \Magento\Framework\Stdlib\DateTime $dateTime
* @param string|null $resourcePrefix
*/
public function __construct(\Magento\Framework\Model\Resource\Db\Context $context, \Magento\Framework\Stdlib\DateTime\DateTime $date, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Framework\Stdlib\DateTime $dateTime, $resourcePrefix = null)
{
$this->_date = $date;
$this->_eventManager = $eventManager;
$this->dateTime = $dateTime;
parent::__construct($context, $resourcePrefix);
}
示例14: __construct
/**
* @param \Magento\Framework\Model\Resource\Db\Context $context
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
* @param \Magento\Store\Model\WebsiteFactory $websiteFactory
* @param \Magento\Eav\Model\Config $eavConfig
* @param string|null $resourcePrefix
*/
public function __construct(\Magento\Framework\Model\Resource\Db\Context $context, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Store\Model\WebsiteFactory $websiteFactory, \Magento\Eav\Model\Config $eavConfig, $resourcePrefix = null)
{
parent::__construct($context, $resourcePrefix);
$this->_storeManager = $storeManager;
$this->_websiteFactory = $websiteFactory;
$this->eavConfig = $eavConfig;
}
示例15: __construct
/**
* @param \Magento\Framework\Model\Resource\Db\Context $context
* @param \Magento\Framework\Event\ManagerInterface $eventManager
* @param \Magento\Framework\Filter\FilterManager $filter
* @param Helper $resourceHelper
* @param string|null $resourcePrefix
*/
public function __construct(\Magento\Framework\Model\Resource\Db\Context $context, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Framework\Filter\FilterManager $filter, \Magento\Search\Model\Resource\Helper $resourceHelper, $resourcePrefix = null)
{
$this->_eventManager = $eventManager;
$this->filter = $filter;
$this->_resourceHelper = $resourceHelper;
parent::__construct($context, $resourcePrefix);
}