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


PHP ContentModel::relation方法代码示例

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


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

示例1: push

 /**
  * 文章推送
  */
 public function push()
 {
     if (IS_POST) {
         $id = $this->_post("id");
         $modelid = $this->_post('modelid');
         $catid = $this->_post("catid");
         $action = $this->_get("action");
         if (!$id || !$action || !$modelid || !$catid) {
             $this->error("参数不正确");
         }
         switch ($action) {
             //推荐位
             case "position_list":
                 $posid = $_POST['posid'];
                 if ($posid && is_array($posid)) {
                     $position_data_db = D('Position');
                     $fields = F("Model_field_" . $modelid);
                     $tablename = ucwords($this->Model[$modelid]['tablename']);
                     if (!$tablename) {
                         $this->error("模型不能为空!");
                     }
                     $ids = explode("|", $id);
                     $Content = new ContentModel($tablename);
                     foreach ($ids as $k => $aid) {
                         //取得信息
                         $re = $Content->relation(true)->where(array("id" => $aid))->find();
                         if ($re) {
                             //文章信息
                             $r = array_merge($re, $re[$tablename . '_data']);
                             unset($r[$tablename . '_data']);
                             //推送数据
                             $textcontent = array();
                             foreach ($fields as $_key => $_value) {
                                 //判断字段是否入库到推荐位字段
                                 if ($_value['isposition']) {
                                     $textcontent[$_key] = $r[$_key];
                                 }
                             }
                             //推送到推荐位
                             $status = $position_data_db->position_update($id, $modelid, $catid, $posid, $textcontent);
                             if ($status) {
                                 //更新信息推荐位标识
                                 $Content->relation(true)->where(array("id" => $aid))->save(array("posids" => 1));
                             }
                         }
                     }
                     $this->success("推送到推荐位成功!");
                 } else {
                     $this->error("请选择推荐位!");
                 }
                 break;
                 //同步发布到其他栏目
             //同步发布到其他栏目
             case "push_to_category":
                 $ids = explode("|", $id);
                 $relation = $this->_post("relation");
                 if (!$relation) {
                     $this->error("请选择需要推送的栏目!");
                 }
                 $relation = explode("|", $relation);
                 if (is_array($relation)) {
                     //过滤相同栏目和自身栏目
                     foreach ($relation as $k => $classid) {
                         if ($classid == $catid) {
                             unset($relation[$k]);
                         }
                     }
                     //去除重复
                     $relation = array_unique($relation);
                     if (count($relation) < 1) {
                         $this->error("请选择需要推送的栏目!");
                     }
                     $tablename = ucwords($this->Model[$modelid]['tablename']);
                     if (!$tablename) {
                         $this->error("模型不能为空!");
                     }
                     $Content = new ContentModel($tablename);
                     import('Content');
                     $ContentAPI = new Content();
                     foreach ($ids as $k => $aid) {
                         //取得信息
                         $r = $Content->relation(true)->where(array("id" => $aid))->find();
                         $linkurl = $r['url'];
                         if ($r) {
                             $ContentAPI->othor_catid($relation, $linkurl, $r, $modelid);
                         }
                     }
                     $this->success("推送其他栏目成功!");
                 } else {
                     $this->error("请选择需要推送的栏目!");
                 }
                 break;
             default:
                 $this->error("请选择操作!");
                 break;
         }
     } else {
//.........这里部分代码省略.........
开发者ID:BGCX262,项目名称:ztoa-svn-to-git,代码行数:101,代码来源:ContentAction.class.php

示例2: create

 public function create()
 {
     unset($_GET['_URL_']);
     if (isset($_GET['start'])) {
         //每轮更新数
         $pagesize = (int) $this->_get("pagesize");
         $_GET['pagesize'] = $pagesize = $pagesize > 1 ? $pagesize : 100;
         //模型
         $_GET['modelid'] = $modelid = (int) $this->_get("modelid");
         //第几轮更新
         $page = $_GET['start'] = (int) $this->_get("start");
         //总共几轮
         $pages = (int) $this->_get("pages");
         //信息总数
         $total = (int) $this->_get("total");
         $model = F("Model");
         //如果是重建所有模型
         if ($modelid) {
             $table_name = ucwords($model[$modelid]['tablename']);
             if (!$table_name) {
                 $this->error("该模型不存在!");
             }
             $ContentDb = new ContentModel($table_name);
             if (!in_array($modelid, $this->config['modelid'])) {
                 $this->error("该模型无需重建!");
             }
             //取得总数
             if (!isset($_GET['total'])) {
                 $count = $ContentDb->where(array("status" => 99))->count();
                 //信息总数
                 $total = $_GET['total'] = $count;
                 //总共几轮
                 $pages = $_GET['pages'] = ceil($_GET['total'] / $pagesize);
                 //初始第一轮更新
                 $page = $_GET['start'] = 1;
             }
             $page = max(intval($page), 1);
             $offset = $pagesize * ($page - 1);
             $data = $ContentDb->relation(true)->where(array("status" => 99))->order(array("id" => "ASC"))->limit($offset . "," . $pagesize)->select();
             if (!$data) {
                 $data = array();
             }
             //数据处理
             foreach ($data as $r) {
                 //组合数据
                 $inputinfo = array();
                 $inputinfo['system'] = $r;
                 $inputinfo['model'] = $r[$table_name . "_data"];
                 $id = $r['id'];
                 $this->db->search_api($id, $inputinfo, $modelid);
             }
             if ($pages == $page || $page > $pages) {
                 $this->success("更新完成! ...", U("Search/create"));
                 exit;
             }
             if ($pages > $page) {
                 $page++;
                 $_GET['start'] = $page;
                 $creatednum = $offset + count($data);
                 $percent = round($creatednum / $total, 2) * 100;
                 $message = "有 <font color=\"red\">{$total}</font> 条信息 - 已完成 <font color=\"red\">{$creatednum}</font> 条(<font color=\"red\">{$percent}%</font>)";
                 $forward = U("Search/create", $_GET);
                 $this->assign("waitSecond", 200);
                 $this->success($message, $forward);
                 exit;
             }
         } else {
             //当没有选择模型更新时,进行全部可用模型数据更新
             $modelArr = $this->config['modelid'];
             $autoid = $this->_get("autoid");
             $autoid = $_GET['autoid'] ? intval($_GET['autoid']) : 0;
             if (!isset($modelArr[$autoid])) {
                 $this->success("更新完成! ...", U("Search/create"));
                 exit;
             }
             $modelid = $modelArr[$autoid];
             $table_name = ucwords($model[$modelid]['tablename']);
             if (!$table_name) {
                 $this->error("该模型不存在!");
             }
             $ContentDb = new ContentModel($table_name);
             //取得总数
             if (!isset($_GET['total'])) {
                 $count = $ContentDb->where(array("status" => 99))->count();
                 //信息总数
                 $total = $_GET['total'] = $count;
                 //总共几轮
                 $pages = $_GET['pages'] = ceil($_GET['total'] / $pagesize);
                 //初始第一轮更新
                 $page = $_GET['start'] = 1;
             }
             $page = max(intval($page), 1);
             $offset = $pagesize * ($page - 1);
             $data = $ContentDb->relation(true)->where(array("status" => 99))->order(array("id" => "ASC"))->limit($offset . "," . $pagesize)->select();
             if (!$data) {
                 $data = array();
             }
             //数据处理
             foreach ($data as $r) {
                 //组合数据
//.........这里部分代码省略.........
开发者ID:BGCX262,项目名称:ztoa-svn-to-git,代码行数:101,代码来源:SearchAction.class.php


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