當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。