+ 复制到我的接口(请先登录,支持在线开发API)    预览接口发布效果    查看开发教程

<?php


/**
 * 如何创建非重复的表单数据 PHP接口源代码
 *
 * 接口说明:演示:创建非重复博客文章,数据存在时则更新否则新增数据。请先安装此表:https://open.yesapi.cn/tablelist/okayapi_article.html (调试时先同步到测试库)
 *
 * 最后修改:2024-10-14 11:37:01
 *
 * @author dogstar www.yesapi.cn
 *
 * 来源:https://open.yesapi.cn/apicode/8917.html
 */

function ($params$di) {
    
$result = array('err_code' => 0'err_msg' => '''id' => 0);

    
// 待更新或新建的数据
    
$data = array();
    if (isset(
$params['article_title'])) $data['article_title'] = $params['article_title'];
    if (isset(
$params['article_sub_title'])) $data['article_sub_title'] = $params['article_sub_title'];
    if (isset(
$params['article_author'])) $data['article_author'] = $params['article_author'];
    if (isset(
$params['article_content'])) $data['article_content'] = $params['article_content'];
    if (isset(
$params['article_post_time'])) $data['article_post_time'] = $params['article_post_time'];
    if (isset(
$params['article_view_times'])) $data['article_view_times'] = $params['article_view_times'];
    if (empty(
$data)) {
        throw new 
BadRequestException('缺少数据');
    }

    
// 查询条件(例如,根据文章标题)
    
$where = array(
        
'article_title' => $params['article_title'],
    );
    
$oldData $where $di->db->okayapi_article->select('*')->where($where)->fetchOne() : array();

    
// 打印准备的数据
    
yesapi_debug($data);
    
    
// 更新或创建
    
$model $di->db->okayapi_article;
    if (empty(
$oldData)) {
        
// 创建新数据
        
$data['add_time'] = date('Y-m-d H:i:s'); // 创建时间
        
$model->insert($data);
        
$result['id'] = $model->insert_id();
    } else {
        
// 更新旧数据
        
$data['update_time'] = date('Y-m-d H:i:s'); // 更新时间
        
$model->where($where)->update($data);
        
$result['id'] = $oldData['id'];
    }

    return 
$result;
}
在线运行   


回到顶部 ↑