ArticleSourceService.class.php 1.37 KB
<?php
/**
 * Created by PhpStorm.
 * User: liyifei2012it
 * Date: 17/4/12
 * Time: 10:46
 */
namespace Common\Service;

use Common\Model\ArticleSourceModel;

class ArticleSourceService extends AbstractService
{
    // 构造方法
    public function __construct()
    {
        parent::__construct();
        $this->_d = new ArticleSourceModel();
    }

    /**
     * 保存课程素材关系
     * @author zhonglei
     * @param int $article_id 课程ID
     * @param array $source_ids_post 素材ID数组
     * @return bool
     */
    public function saveData($article_id, $source_ids_post)
    {
        $article_sources = $this->list_by_conds(['article_id' => $article_id]);
        $source_ids_db = array_column($article_sources, 'source_id');
        $ids_del = array_diff($source_ids_db, $source_ids_post);
        $ids_insert = array_diff($source_ids_post, $source_ids_db);

        // 删除数据
        if (!empty($ids_del)) {

            $this->delete_by_conds(['article_id' => $article_id, 'source_id' => $ids_del]);
        }

        $insert_data = [];

        // 新增数据
        foreach ($ids_insert as $v) {

            $insert_data[] = [
                'article_id' => $article_id,
                'source_id' => $v,
            ];
        }

        if (!empty($insert_data)) {

            $this->insert_all($insert_data);
        }

        return true;
    }
}