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


PHP Loader::model方法代码示例

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


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

示例1: picture

 /**
  * 利用TP核心的单图片上传方法
  */
 public function picture()
 {
     $Storage = Loader::model('Storage');
     $options = ['ext' => ['jpg', 'gif', 'png', 'jpeg']];
     $info = $Storage->upload('upload', $options);
     if (false !== $info) {
         return $this->success('上传成功', '', $info);
     } else {
         return $this->error($Storage->getError());
     }
 }
开发者ID:cjango,项目名称:cwms,代码行数:14,代码来源:Upload.php

示例2: edit

 /**
  * [edit description]
  * @param  integer $id [description]
  */
 public function edit($id)
 {
     if (IS_POST) {
         $data = $this->request->post();
         $validate = Loader::validate('Category');
         if (!$validate->check($data)) {
             return $this->error($validate->getError());
         }
         if (Loader::model('Category')->update($data)) {
             return $this->success();
         } else {
             return $this->error();
         }
     } else {
         $this->assign('info', Db::name('Category')->find($id));
         $this->assign('upcate_list', Loader::model('Category')->treeSelect('', $id));
         return $this->fetch('edit');
     }
 }
开发者ID:cjango,项目名称:cwms,代码行数:23,代码来源:Category.php

示例3: edit

 /**
  * 编辑
  * @param  [type] $id 主键
  */
 public function edit($id)
 {
     if (IS_POST) {
         $data = $this->request->post();
         $validate = Loader::validate('Menu');
         if (!$validate->check($data)) {
             return $this->error($validate->getError());
         }
         if (Loader::model('Menu')->update($data)) {
             session('system_menu_list', null);
             return $this->success();
         } else {
             return $this->error();
         }
     } else {
         $this->assign('up_menus', self::_treeShow($id));
         $this->assign('info', Db::name('Menu')->where('id', $id)->find());
         return $this->fetch();
     }
 }
开发者ID:cjango,项目名称:cwms,代码行数:24,代码来源:Menu.php

示例4: crRelation

 /**
  * 关联数据验证
  * @access protected
  * @param mixed $data  数据对象
  * @param string $name 关联名称
  * @return mixed
  */
 protected function crRelation(&$data, $name = '')
 {
     if (empty($data) && !empty($this->data)) {
         $data = $this->data;
     } elseif (!is_array($data)) {
         // 数据无效返回
         return false;
     }
     if (!empty($this->_link)) {
         $fields = $this->getFields();
         // 遍历关联定义
         foreach ($this->_link as $key => $val) {
             // 操作制定关联类型
             $mappingName = !empty($val['mapping_name']) ? $val['mapping_name'] : $key;
             // 映射名称
             if (empty($name) || true === $name || $mappingName == $name || is_array($name) && in_array($mappingName, $name)) {
                 // 操作制定的关联
                 $mappingType = !empty($val['mapping_type']) ? $val['mapping_type'] : $val;
                 // 关联类型
                 $mappingClass = !empty($val['class_name']) ? $val['class_name'] : $key;
                 // 关联类名
                 $mappingKey = !empty($val['mapping_key']) ? $val['mapping_key'] : $this->getPk();
                 // 关联键名
                 if (strtoupper($mappingClass) == strtoupper($this->name) || !isset($data[$mappingName])) {
                     continue;
                     // 自引用关联或提交关联数据跳过
                 }
                 // 获取关联model对象
                 $model = \think\Loader::model($mappingClass);
                 $_data = $data[$mappingName];
                 unset($data[$key]);
                 if ($_data = $model->token(false)->create($_data)) {
                     $data[$mappingName] = $_data;
                     $fields[] = $mappingName;
                 } else {
                     $error = $model->getError();
                     if ($this->patchValidate) {
                         $this->error[$mappingName] = $error;
                     } else {
                         $this->error = $error;
                         return false;
                     }
                 }
             }
         }
         // 过滤非法字段数据
         $diff = array_diff(array_keys($data), $fields);
         foreach ($diff as $key) {
             unset($data[$key]);
         }
     }
 }
开发者ID:Lofanmi,项目名称:think,代码行数:59,代码来源:Relation.php

示例5: D

/**
 * 实例化Model
 * @param string $name Model名称
 * @param string $layer 业务层名称
 * @return object
 */
function D($name = '', $layer = MODEL_LAYER)
{
    return \think\Loader::model($name, $layer);
}
开发者ID:yuhongjie,项目名称:think,代码行数:10,代码来源:helper.php

示例6: model

 /**
  * 实例化Model
  * @param string    $name Model名称
  * @param string    $layer 业务层名称
  * @param bool      $appendSuffix 是否添加类名后缀
  * @return \think\Model
  */
 function model($name = '', $layer = 'model', $appendSuffix = false)
 {
     return Loader::model($name, $layer, $appendSuffix);
 }
开发者ID:pangPython,项目名称:iNewsCMS,代码行数:11,代码来源:helper.php

示例7: _checkFields

 /**
  * 检查是否定义了所有字段
  * @access protected
  * @param string $name  模型名称
  * @param array $fields 字段数组
  * @return array
  */
 private function _checkFields($name, $fields)
 {
     if (false !== ($pos = array_search('*', $fields))) {
         // 定义所有字段
         $fields = array_merge($fields, \think\Loader::model($name)->getFields());
         unset($fields[$pos]);
     }
     return $fields;
 }
开发者ID:cnzin,项目名称:think,代码行数:16,代码来源:View.php

示例8: model

/**
 * 实例化Model
 * @param string $name Model名称
 * @param string $layer 业务层名称
 * @return \think\Model
 */
function model($name = '', $layer = MODEL_LAYER)
{
    return Loader::model($name, $layer);
}
开发者ID:xuyi5918,项目名称:ipensoft,代码行数:10,代码来源:helper.php

示例9: parseRule

 /**
  * 解析规则路由
  * @access private
  * @param string    $rule 路由规则
  * @param string    $route 路由地址
  * @param string    $pathinfo URL地址
  * @param array     $option 路由参数
  * @param array     $matches 匹配的变量
  * @return array
  */
 private static function parseRule($rule, $route, $pathinfo, $option = [], $matches = [])
 {
     $request = Request::instance();
     // 解析路由规则
     if ($rule) {
         $rule = explode('/', $rule);
         // 获取URL地址中的参数
         $paths = explode('|', $pathinfo);
         foreach ($rule as $item) {
             $fun = '';
             if (0 === strpos($item, '[:')) {
                 $item = substr($item, 1, -1);
             }
             if (0 === strpos($item, ':')) {
                 $var = substr($item, 1);
                 $matches[$var] = array_shift($paths);
             } else {
                 // 过滤URL中的静态变量
                 array_shift($paths);
             }
         }
     } else {
         $paths = explode('|', $pathinfo);
     }
     // 获取路由地址规则
     if (is_string($route) && isset($option['prefix'])) {
         // 路由地址前缀
         $route = $option['prefix'] . $route;
     }
     // 替换路由地址中的变量
     if (is_string($route) && !empty($matches)) {
         foreach ($matches as $key => $val) {
             if (false !== strpos($route, ':' . $key)) {
                 $route = str_replace(':' . $key, $val, $route);
                 unset($matches[$key]);
             }
         }
     }
     // 绑定模型数据
     if (isset($option['bind_model'])) {
         $bind = [];
         foreach ($option['bind_model'] as $key => $val) {
             if ($val instanceof \Closure) {
                 $result = call_user_func_array($val, [$matches]);
             } else {
                 if (is_array($val)) {
                     $fields = explode('&', $val[1]);
                     $model = $val[0];
                     $exception = isset($val[2]) ? $val[2] : true;
                 } else {
                     $fields = ['id'];
                     $model = $val;
                     $exception = true;
                 }
                 $where = [];
                 $match = true;
                 foreach ($fields as $field) {
                     if (!isset($matches[$field])) {
                         $match = false;
                         break;
                     } else {
                         $where[$field] = $matches[$field];
                     }
                 }
                 if ($match) {
                     $query = strpos($model, '\\') ? $model::where($where) : Loader::model($model)->where($where);
                     $result = $query->failException($exception)->find();
                 }
             }
             if (!empty($result)) {
                 $bind[$key] = $result;
             }
         }
         $request->bind($bind);
     }
     // 解析额外参数
     self::parseUrlParams(empty($paths) ? '' : implode('|', $paths), $matches);
     // 记录匹配的路由信息
     $request->routeInfo(['rule' => $rule, 'route' => $route, 'option' => $option, 'var' => $matches]);
     // 检测路由after行为
     if (!empty($option['after_behavior'])) {
         if ($option['after_behavior'] instanceof \Closure) {
             $result = call_user_func_array($option['after_behavior'], []);
         } else {
             foreach ((array) $option['after_behavior'] as $behavior) {
                 $result = Hook::exec($behavior, '');
                 if (!is_null($result)) {
                     break;
                 }
             }
//.........这里部分代码省略.........
开发者ID:pangPython,项目名称:iNewsCMS,代码行数:101,代码来源:Route.php

示例10: edit

 /**
  * 编辑配置
  * @param  integer $id 配置主键
  */
 public function edit($id)
 {
     if (IS_POST) {
         $data = $this->request->post();
         $validate = Loader::validate('Config');
         if (!$validate->check($data)) {
             return $this->error($validate->getError());
         }
         if (Loader::model('Config')->update($data)) {
             Cache::clear();
             return $this->success();
         } else {
             return $this->error();
         }
     } else {
         $this->assign('info', Db::name('Config')->find($id));
         return $this->fetch();
     }
 }
开发者ID:cjango,项目名称:cwms,代码行数:23,代码来源:Config.php

示例11: keyword_edit

 /**
  * 编辑关键字
  * @return [type]
  */
 public function keyword_edit($id)
 {
     if (IS_POST) {
         $data = $this->request->post();
         $validate = Loader::validate('WechatKeyword');
         if (!$validate->check($data)) {
             return $this->error($validate->getError());
         }
         if (Loader::model('WechatKeyword')->update($data)) {
             return $this->success('', url('system/weixin/keyword'));
         } else {
             return $this->error();
         }
     } else {
         $info = Db::name('WechatKeyword')->find($id);
         $this->assign('contentType', self::keyword_type($info['type'], $info['content']));
         $this->assign('info', $info);
         return $this->fetch();
     }
 }
开发者ID:cjango,项目名称:cwms,代码行数:24,代码来源:Weixin.php

示例12: edit

 /**
  * 编辑
  * @param  [type] $id [description]
  */
 public function edit($id)
 {
     if (IS_POST) {
         $data = $this->request->post();
         $validate = Loader::validate('Member');
         if (!$validate->scene('edit')->check($data)) {
             return $this->error($validate->getError());
         }
         if (Loader::model('Member')->update($data)) {
             logs('用户编辑成功', $data);
             return $this->success();
         } else {
             return $this->error();
         }
     } else {
         $level = Db::name('member')->find($id);
         $map = ['id' => ['neq', 1], 'status' => 1, 'level' => $level['level'] - 1];
         $list = Db::name('member')->where($map)->field('id,nickname')->select();
         $this->assign('list', $list);
         $info = Db::name('Member')->find($id);
         $this->assign('info', $info);
         return $this->fetch();
     }
 }
开发者ID:cjango,项目名称:cwms,代码行数:28,代码来源:Member.php


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