【TP5】不重复添加数据(案例:专题下的视频管理)

简介: 【TP5】不重复添加数据(案例:专题下的视频管理)

author:咔咔

wechat:fangkangfk

案例:专题添加视频不可重复

image.png

注释写的这么清晰就不需要在解释了

/**
     * author:咔咔
     *
     * 批量给专题添加视频
     */
    public function batchAddVideo()
    {
        $param = $this->request->param();
        if(empty($param)){
            return ajaxReturn(PARAM_ERROR);
        }
        // 已存在的视频
        $existingData  = $this->subjectListModel->existingData($param);
        // 批量添加的视频id
        $addVideoId = $param['ids'];
        // 将批量添加的视频索引与值相等
        foreach($addVideoId as $k=>$v){
            $datas[$v] = $v;
        }
        if(empty($existingData)){
            foreach($datas as $key=>$val){
                $data['vs_id'] = $param['vs_id'];
                $data['vi_id'] = $val;
                $result = $this->subjectListModel->insert($data);
            }
            if($result){
                return ajaxReturn(SUCCESS);
            }
        }
        // 将已将存在的视频索引与值相等
        foreach($existingData as $k=>$v){
            $existencetVideoId[$v] = $v;
        }
        // 移除已经存在的视频id
        foreach($datas as $key => $val){
            if(array_key_exists($key,$existencetVideoId)){
                unset($datas[$key]);
            }
        }
        // 容错当全部数据都存在的时候,datas为空
        if(empty($datas)){
            return ajaxReturn(EXISTENCE);
        }
        foreach($datas as $key=>$val){
            $data['vs_id'] = $param['vs_id'];
            $data['vi_id'] = $val;
            $result = $this->subjectListModel->insert($data);
        }
        if($result){
            return ajaxReturn(SUCCESS);
        }
    }
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
MYSQL根据查询结果删除sql 去除重复id 新增对比前一条与后一条数据 去重3种方法​ 窗口函数
MYSQL根据查询结果删除sql 去除重复id 新增对比前一条与后一条数据 去重3种方法​ 窗口函数
125 0
|
4月前
|
关系型数据库 MySQL 数据库
mysql,归零,无法自动排序,删除id,表单的数据没有从零开始出现怎样解决?删除数据仍然从删除的地方该怎样解决?表单的数据没有从2开始,而是从之前的删除的序号开始自增。
mysql,归零,无法自动排序,删除id,表单的数据没有从零开始出现怎样解决?删除数据仍然从删除的地方该怎样解决?表单的数据没有从2开始,而是从之前的删除的序号开始自增。
|
BI 数据处理 开发工具
【批量创建,删除工作表】
【批量创建,删除工作表】
|
存储 关系型数据库 MySQL
mysql百万级数量插入、删除、分组、分页、更新语句优化
mysql百万级数量插入、删除、分组、分页、更新语句优化
|
PHP 数据格式
php清洗数据实战案例(1):根据关联数组的某个状态求不同状态下的个数
php清洗数据实战案例(1):根据关联数组的某个状态求不同状态下的个数
63 0
|
SQL 数据库 数据库管理
​数据库之定义删除修改基本表
​数据库之定义删除修改基本表
115 0
|
SQL 关系型数据库 MySQL
mysql实战:左表数据全部展示,关联表有关联数据返回1,没有关联数据返回0
现在有一消息通知功能,后台发布的每条通知消息都会展示到APP端消息列表中,每条消息支持是否已读操作,从消息列表中点击进入详情视为完成已读操作;现在需要在查询出的用户消息列表信息,其中所有的通知消息信息要标注出是否已读.
mysql实战:左表数据全部展示,关联表有关联数据返回1,没有关联数据返回0
流程定义查询和删除
流程定义查询流程定义查询和删除
|
SQL 关系型数据库 MySQL
十一、操作delete或者update语句,加个limit或者循环分批次删除
十一、操作delete或者update语句,加个limit或者循环分批次删除
315 0
|
PHP
tp自动验证流程和返回空数组的问题
tp自动验证流程和返回空数组的问题
113 0