当前位置: 首页>>代码示例>>PHP>>正文


PHP AdapterInterface::insert方法代码示例

本文整理汇总了PHP中Magento\Framework\DB\Adapter\AdapterInterface::insert方法的典型用法代码示例。如果您正苦于以下问题:PHP AdapterInterface::insert方法的具体用法?PHP AdapterInterface::insert怎么用?PHP AdapterInterface::insert使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Magento\Framework\DB\Adapter\AdapterInterface的用法示例。


在下文中一共展示了AdapterInterface::insert方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: appendChild

 /**
  * @param string|int $nodeId
  * @param array $data
  * @return false|string
  * @SuppressWarnings(PHPMD.ExitExpression)
  */
 public function appendChild($nodeId, $data)
 {
     $info = $this->getNodeInfo($nodeId);
     if (!$info) {
         return false;
     }
     $data[$this->_left] = $info[$this->_right];
     $data[$this->_right] = $info[$this->_right] + 1;
     $data[$this->_level] = $info[$this->_level] + 1;
     $data[$this->_pid] = $nodeId;
     // creating a place for the record being inserted
     if ($nodeId) {
         $this->_db->beginTransaction();
         try {
             $sql = 'UPDATE ' . $this->_table . ' SET' . ' `' . $this->_left . '` = IF( `' . $this->_left . '` > :left,' . ' `' . $this->_left . '`+2, `' . $this->_left . '`),' . ' `' . $this->_right . '` = IF( `' . $this->_right . '`>= :right,' . ' `' . $this->_right . '`+2, `' . $this->_right . '`)' . ' WHERE `' . $this->_right . '` >= :right';
             $this->_db->query($sql, ['left' => $info[$this->_left], 'right' => $info[$this->_right]]);
             $this->_db->insert($this->_table, $data);
             $this->_db->commit();
         } catch (\PDOException $p) {
             $this->_db->rollBack();
             echo $p->getMessage();
             exit;
         } catch (\Exception $e) {
             $this->_db->rollBack();
             echo $e->getMessage();
             echo $sql;
             exit;
         }
         // TODO: change to ZEND LIBRARY
         $res = $this->_db->fetchOne('select last_insert_id()');
         return $res;
     }
     return false;
 }
开发者ID:IlyaGluschenko,项目名称:test001,代码行数:40,代码来源:Tree.php

示例2: appendChild

 /**
  * @param Node $data
  * @param Node $parentNode
  * @param Node $prevNode
  * @return Node
  */
 public function appendChild($data, $parentNode, $prevNode = null)
 {
     $orderSelect = $this->_conn->select();
     $orderSelect->from($this->_table, new \Zend_Db_Expr('MAX(' . $this->_conn->quoteIdentifier($this->_orderField) . ')'))->where($this->_conn->quoteIdentifier($this->_parentField) . '=' . $parentNode->getId());
     $order = $this->_conn->fetchOne($orderSelect);
     $data[$this->_parentField] = $parentNode->getId();
     $data[$this->_levelField] = $parentNode->getData($this->_levelField) + 1;
     $data[$this->_orderField] = $order + 1;
     $this->_conn->insert($this->_table, $data);
     $data[$this->_idField] = $this->_conn->lastInsertId();
     return parent::appendChild($data, $parentNode, $prevNode);
 }
开发者ID:pradeep-wagento,项目名称:magento2,代码行数:18,代码来源:Db.php

示例3: _createMageCustomers

 /**
  * Create $total Magento customers with emails "customer_$i[at]test.com" and save mapping to MageId into
  * $this->_testMageCustomers & $this->_testMageCustomersReverted
  *
  * ATTENTION: There is warning "Test method "_createMageCustomers" in test class "..." is not public."
  * in case of method's visibility is 'protected' (after $total argument was added).
  *
  * @param int $total total count of the Magento customers to be created.
  */
 protected function _createMageCustomers($total = 13)
 {
     $tbl = $this->_resource->getTableName(Cfg::ENTITY_MAGE_CUSTOMER);
     for ($i = 1; $i <= $total; $i++) {
         $email = "customer_{$i}@test.com";
         $this->_conn->insert($tbl, [Cfg::E_CUSTOMER_A_EMAIL => $email]);
         $id = $this->_conn->lastInsertId($tbl);
         $this->_mapCustomerMageIdByIndex[$i] = $id;
         $this->_mapCustomerIndexByMageId[$id] = $i;
         $this->_logger->debug("New Magento customer #{$i} is added with ID={$id} ({$email}).");
     }
     $this->_logger->debug("Total {$total} customer were added to Magento.");
 }
开发者ID:praxigento,项目名称:mobi_mod_mage2_core,代码行数:22,代码来源:BaseIntegrationTest.php

示例4: insertRecords

 /**
  * @inheritdoc
  */
 public function insertRecords($documentName, $records, $updateOnDuplicate = false)
 {
     $this->resourceAdapter->rawQuery("SET @OLD_INSERT_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'");
     if ($updateOnDuplicate) {
         $result = $this->resourceAdapter->insertOnDuplicate($documentName, $records);
     } else {
         if (!is_array(reset($records))) {
             $result = $this->resourceAdapter->insert($documentName, $records);
         } else {
             $result = $this->insertMultiple($documentName, $records);
         }
     }
     $this->resourceAdapter->rawQuery("SET SQL_MODE=IFNULL(@OLD_INSERT_SQL_MODE,'')");
     return $result;
 }
开发者ID:okite11,项目名称:frames21,代码行数:18,代码来源:Mysql.php

示例5: write

 /**
  * Update session
  *
  * @param string $sessionId
  * @param string $sessionData
  * @return bool
  */
 public function write($sessionId, $sessionData)
 {
     // need to use write connection to get the most fresh DB sessions
     $bindValues = ['session_id' => $sessionId];
     $select = $this->_write->select()->from($this->_sessionTable)->where('session_id = :session_id');
     $exists = $this->_write->fetchOne($select, $bindValues);
     // encode session serialized data to prevent insertion of incorrect symbols
     $sessionData = base64_encode($sessionData);
     $bind = ['session_expires' => time(), 'session_data' => $sessionData];
     if ($exists) {
         $this->_write->update($this->_sessionTable, $bind, ['session_id=?' => $sessionId]);
     } else {
         $bind['session_id'] = $sessionId;
         $this->_write->insert($this->_sessionTable, $bind);
     }
     return true;
 }
开发者ID:vasiljok,项目名称:magento2,代码行数:24,代码来源:DbTable.php

示例6: testGetList

 /**
  * Test for getList() method
  *
  * @return void
  */
 public function testGetList()
 {
     $this->assertEquals(0, $this->model->getVersion());
     //the same that a table is empty
     $changelogName = $this->resource->getTableName($this->model->getName());
     $testChengelogData = [['version_id' => 1, 'entity_id' => 1], ['version_id' => 2, 'entity_id' => 1], ['version_id' => 3, 'entity_id' => 2], ['version_id' => 4, 'entity_id' => 3], ['version_id' => 5, 'entity_id' => 1]];
     foreach ($testChengelogData as $data) {
         $this->connection->insert($changelogName, $data);
     }
     $this->assertEquals(5, $this->model->getVersion());
     $this->assertEquals(3, count($this->model->getList(0, 5)));
     //distinct entity_ids
     $this->assertEquals(3, count($this->model->getList(2, 5)));
     //distinct entity_ids
     $this->assertEquals(2, count($this->model->getList(0, 3)));
     //distinct entity_ids
     $this->assertEquals(1, count($this->model->getList(0, 2)));
     //distinct entity_ids
     $this->assertEquals(1, count($this->model->getList(2, 3)));
     //distinct entity_ids
     $this->assertEquals(0, count($this->model->getList(4, 3)));
     //because fromVersionId > toVersionId
 }
开发者ID:andrewhowdencom,项目名称:m2onk8s,代码行数:28,代码来源:ChangelogTest.php

示例7: getNextValue

 /**
  * Retrieve next value
  *
  * @return string
  */
 public function getNextValue()
 {
     $this->adapter->insert($this->meta->getSequenceTable(), []);
     $this->lastIncrementId = $this->adapter->lastInsertId($this->meta->getSequenceTable());
     return $this->getCurrentValue();
 }
开发者ID:nja78,项目名称:magento2,代码行数:11,代码来源:Sequence.php


注:本文中的Magento\Framework\DB\Adapter\AdapterInterface::insert方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。