本文整理匯總了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());
}
}
示例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');
}
}
示例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();
}
}
示例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]);
}
}
}
示例5: D
/**
* 實例化Model
* @param string $name Model名稱
* @param string $layer 業務層名稱
* @return object
*/
function D($name = '', $layer = MODEL_LAYER)
{
return \think\Loader::model($name, $layer);
}
示例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);
}
示例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;
}
示例8: model
/**
* 實例化Model
* @param string $name Model名稱
* @param string $layer 業務層名稱
* @return \think\Model
*/
function model($name = '', $layer = MODEL_LAYER)
{
return Loader::model($name, $layer);
}
示例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;
}
}
//.........這裏部分代碼省略.........
示例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();
}
}
示例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();
}
}
示例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();
}
}