本文整理汇总了PHP中Magento\Framework\DB\Select::from方法的典型用法代码示例。如果您正苦于以下问题:PHP Select::from方法的具体用法?PHP Select::from怎么用?PHP Select::from使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Framework\DB\Select
的用法示例。
在下文中一共展示了Select::from方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testCheckNotDdlTransaction
/**
* Test not DDL query inside transaction
*
* @dataProvider sqlQueryProvider
*/
public function testCheckNotDdlTransaction($query)
{
try {
$this->_mockAdapter->query($query);
} catch (\Exception $e) {
$this->assertNotContains($e->getMessage(), AdapterInterface::ERROR_DDL_MESSAGE);
}
$select = new Select($this->_mockAdapter);
$select->from('user');
try {
$this->_mockAdapter->query($select);
} catch (\Exception $e) {
$this->assertNotContains($e->getMessage(), AdapterInterface::ERROR_DDL_MESSAGE);
}
}
示例2: testWhere
public function testWhere()
{
$select = new Select($this->_getConnectionMockWithMockedQuote(1, "'5'"));
$select->from('test')->where('field = ?', 5);
$this->assertEquals("SELECT `test`.* FROM `test` WHERE (field = '5')", $select->assemble());
$select = new Select($this->_getConnectionMockWithMockedQuote(1, "''"));
$select->from('test')->where('field = ?');
$this->assertEquals("SELECT `test`.* FROM `test` WHERE (field = '')", $select->assemble());
$select = new Select($this->_getConnectionMockWithMockedQuote(1, "'%?%'"));
$select->from('test')->where('field LIKE ?', '%value?%');
$this->assertEquals("SELECT `test`.* FROM `test` WHERE (field LIKE '%?%')", $select->assemble());
$select = new Select($this->_getConnectionMockWithMockedQuote(0));
$select->from('test')->where("field LIKE '%value?%'", null, Select::TYPE_CONDITION);
$this->assertEquals("SELECT `test`.* FROM `test` WHERE (field LIKE '%value?%')", $select->assemble());
$select = new Select($this->_getConnectionMockWithMockedQuote(1, "'1', '2', '4', '8'"));
$select->from('test')->where("id IN (?)", [1, 2, 4, 8]);
$this->assertEquals("SELECT `test`.* FROM `test` WHERE (id IN ('1', '2', '4', '8'))", $select->assemble());
}
示例3: __construct
/**
* Db tree constructor
*
* $fields = array(
* \Magento\Framework\Data\Tree\Db::ID_FIELD => string,
* \Magento\Framework\Data\Tree\Db::PARENT_FIELD => string,
* \Magento\Framework\Data\Tree\Db::LEVEL_FIELD => string
* \Magento\Framework\Data\Tree\Db::ORDER_FIELD => string
* )
*
* @param \Magento\Framework\DB\Adapter\AdapterInterface $connection
* @param string $table
* @param array $fields
* @throws \Exception
*/
public function __construct(\Magento\Framework\DB\Adapter\AdapterInterface $connection, $table, $fields)
{
parent::__construct();
if (!$connection) {
throw new \Exception('Wrong "$connection" parametr');
}
$this->_conn = $connection;
$this->_table = $table;
if (!isset($fields[self::ID_FIELD]) || !isset($fields[self::PARENT_FIELD]) || !isset($fields[self::LEVEL_FIELD]) || !isset($fields[self::ORDER_FIELD])) {
throw new \Exception('"$fields" tree configuratin array');
}
$this->_idField = $fields[self::ID_FIELD];
$this->_parentField = $fields[self::PARENT_FIELD];
$this->_levelField = $fields[self::LEVEL_FIELD];
$this->_orderField = $fields[self::ORDER_FIELD];
$this->_select = $this->_conn->select();
$this->_select->from($this->_table, array_values($fields));
}
示例4: testWhere
public function testWhere()
{
$quote = new \Magento\Framework\DB\Platform\Quote();
$renderer = new \Magento\Framework\DB\Select\SelectRenderer(['distinct' => ['renderer' => new \Magento\Framework\DB\Select\DistinctRenderer(), 'sort' => 100, 'part' => 'distinct'], 'columns' => ['renderer' => new \Magento\Framework\DB\Select\ColumnsRenderer($quote), 'sort' => 200, 'part' => 'columns'], 'union' => ['renderer' => new \Magento\Framework\DB\Select\UnionRenderer(), 'sort' => 300, 'part' => 'union'], 'from' => ['renderer' => new \Magento\Framework\DB\Select\FromRenderer($quote), 'sort' => 400, 'part' => 'from'], 'where' => ['renderer' => new \Magento\Framework\DB\Select\WhereRenderer(), 'sort' => 500, 'part' => 'where'], 'group' => ['renderer' => new \Magento\Framework\DB\Select\GroupRenderer($quote), 'sort' => 600, 'part' => 'group'], 'having' => ['renderer' => new \Magento\Framework\DB\Select\HavingRenderer(), 'sort' => 700, 'part' => 'having'], 'order' => ['renderer' => new \Magento\Framework\DB\Select\OrderRenderer($quote), 'sort' => 800, 'part' => 'order'], 'limit' => ['renderer' => new \Magento\Framework\DB\Select\LimitRenderer(), 'sort' => 900, 'part' => 'limitcount'], 'for_update' => ['renderer' => new \Magento\Framework\DB\Select\ForUpdateRenderer(), 'sort' => 1000, 'part' => 'forupdate']]);
$select = new Select($this->_getConnectionMockWithMockedQuote(1, "'5'"), $renderer);
$select->from('test')->where('field = ?', 5);
$this->assertEquals("SELECT `test`.* FROM `test` WHERE (field = '5')", $select->assemble());
$select = new Select($this->_getConnectionMockWithMockedQuote(1, "''"), $renderer);
$select->from('test')->where('field = ?');
$this->assertEquals("SELECT `test`.* FROM `test` WHERE (field = '')", $select->assemble());
$select = new Select($this->_getConnectionMockWithMockedQuote(1, "'%?%'"), $renderer);
$select->from('test')->where('field LIKE ?', '%value?%');
$this->assertEquals("SELECT `test`.* FROM `test` WHERE (field LIKE '%?%')", $select->assemble());
$select = new Select($this->_getConnectionMockWithMockedQuote(0), $renderer);
$select->from('test')->where("field LIKE '%value?%'", null, Select::TYPE_CONDITION);
$this->assertEquals("SELECT `test`.* FROM `test` WHERE (field LIKE '%value?%')", $select->assemble());
$select = new Select($this->_getConnectionMockWithMockedQuote(1, "'1', '2', '4', '8'"), $renderer);
$select->from('test')->where("id IN (?)", [1, 2, 4, 8]);
$this->assertEquals("SELECT `test`.* FROM `test` WHERE (id IN ('1', '2', '4', '8'))", $select->assemble());
}
示例5: getNode
/**
* @param string|int $nodeId
* @return Node
*/
public function getNode($nodeId)
{
$dbSelect = new Select($this->_db);
$dbSelect->from($this->_table)->where($this->_table . '.' . $this->_id . ' >= :id');
$this->_addExtTablesToSelect($dbSelect);
$data = [];
$data['id'] = $nodeId;
$data = $this->_db->fetchRow($dbSelect, $data);
return new Node($data, $this->getKeys());
}