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


PHP Connection::upsert方法代码示例

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


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

示例1: doSetMultiple

 /**
  * Stores multiple items in the persistent cache.
  *
  * @param array $items
  *   An array of cache items, keyed by cid.
  *
  * @see \Drupal\Core\Cache\CacheBackendInterface::setMultiple()
  */
 protected function doSetMultiple(array $items)
 {
     $values = array();
     foreach ($items as $cid => $item) {
         $item += array('expire' => CacheBackendInterface::CACHE_PERMANENT, 'tags' => array());
         assert('\\Drupal\\Component\\Assertion\\Inspector::assertAllStrings($item[\'tags\'])', 'Cache Tags must be strings.');
         $item['tags'] = array_unique($item['tags']);
         // Sort the cache tags so that they are stored consistently in the DB.
         sort($item['tags']);
         $fields = array('cid' => $this->normalizeCid($cid), 'expire' => $item['expire'], 'created' => round(microtime(TRUE), 3), 'tags' => implode(' ', $item['tags']), 'checksum' => $this->checksumProvider->getCurrentChecksum($item['tags']));
         if (!is_string($item['data'])) {
             $fields['data'] = serialize($item['data']);
             $fields['serialized'] = 1;
         } else {
             $fields['data'] = $item['data'];
             $fields['serialized'] = 0;
         }
         $values[] = $fields;
     }
     // Use an upsert query which is atomic and optimized for multiple-row
     // merges.
     $query = $this->connection->upsert($this->bin)->key('cid')->fields(array('cid', 'expire', 'created', 'tags', 'checksum', 'data', 'serialized'));
     foreach ($values as $fields) {
         // Only pass the values since the order of $fields matches the order of
         // the insert fields. This is a performance optimization to avoid
         // unnecessary loops within the method.
         $query->values(array_values($fields));
     }
     $query->execute();
 }
开发者ID:sarahwillem,项目名称:OD8,代码行数:38,代码来源:DatabaseBackend.php

示例2: save_sitemap

 private function save_sitemap()
 {
     $this->db->upsert('custom_sitemap')->key(array('language_code', $this->language->getId()))->fields(array('language_code' => $this->language->getId(), 'sitemap_string' => $this->sitemap))->execute();
 }
开发者ID:samuelmc,项目名称:custom_sitemap,代码行数:4,代码来源:Customsitemap.php


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