Db::replace PHP Method

replace() public method

替换记录
public replace ( mixed $data, array $options = [] ) : false | integer
$data mixed 数据
$options array 参数表达式
return false | integer | integer
    public function replace($data, $options = array())
    {
        foreach ($data as $key => $val) {
            $value = $this->parseValue($val);
            if (is_scalar($value)) {
                // 过滤非标量数据
                $values[] = $value;
                $fields[] = $this->addSpecialChar($key);
            }
        }
        $sql = 'REPLACE INTO ' . $this->parseTable($options['table']) . ' (' . implode(',', $fields) . ') VALUES (' . implode(',', $values) . ')';
        return $this->execute($sql);
    }

Usage Example

Example #1
0
 /**
  * (non-PHPdoc)
  * @see Model::save()
  */
 public function save($data = null)
 {
     if (!$data['id']) {
         $data['create_time'] = time();
     }
     $result = parent::save($data);
     if (!$result) {
         return false;
     }
     if ($this->lastInsertId) {
         $id = $this->lastInsertId;
     } else {
         $id = $data[$this->priKey];
     }
     if (isset($data['content'])) {
         if ($this->saveContentType == 'txt') {
             $file = $this->getSaveFile($id);
             if (!is_dir($dir = dirname($file))) {
                 mkdir($dir, 0777, true);
             }
             file_put_contents($file, $data['content']);
         } else {
             // 保存到数据
             $content = array('id' => $id, 'content' => $data['content']);
             $result = Db::replace($this->tbl_content, $content);
         }
     }
     return $result;
 }
All Usage Examples Of Db::replace