继承Model实例化查询 volidate验证

  • 1,561
# Model层
### /application/admin/model/Spec.php
```
<?php
namespace app\admin\model;
use think\Model;
class Spec extends Model {
   /**
     * 后置操作方法
     * 自定义的一个函数 用于数据保存后做的相应处理操作, 使用时手动调用
     * @param int $id 规格id
     */
    public function afterSave($id)
    {

        ~~~~~~~~~
        ~~~~~~~~
    }
}

```
# 控制器层
### /application/admin/controller/Goods.php
```
/**
   * 添加修改编辑  商品规格
   */
    public function saveSpec(){

               $model = model('Spec');//实例化
               $model->data($post_data, true); // 收集数据

           if ($type == 2) {
               $model->isUpdate(true)->save(); // 写入数据到数据库
               $model->afterSave(input('id'));
           } else {
               $model->save(); // 写入数据到数据库
               $insert_id = $model->getLastInsID();
               $model->afterSave($insert_id);
           }

       }

    }
```

# 换行符 PHP_EOL
### ==根据不同的win unix mac 自动识别换行==
```
implode(PHP_EOL, $items);
```


 # 验证
 **在validate文件创建对应数据库名称的验证器**
 ```
namespace app\index\validate;

use think\Validate;

class User extends Validate
{
    protected $rule =   [
        'name'  => 'require|max:25',
        'age'   => 'number|between:1,120',
        'email' => 'email',    
    ];
    
    protected $message  =   [
        'name.require' => '名称必须',
        'name.max'     => '名称最多不能超过25个字符',
        'age.number'   => '年龄必须是数字',
        'age.between'  => '年龄只能在1-120之间',
        'email'        => '邮箱格式错误',    
    ];
    
}
 ```
### ==引入验证器  注意:验证器跟数据库名称一致==
 ```
 $validate = \think\Loader::validate('User');
if(!$validate->check($data)){
    dump($validate->getError());
}   
 ```
 
 # 验证
```
          $validate = \think\Loader::validate('article');
          if($validate->check($data)){
                $db = \think\Db::name('article')->insert($data); /*添加文章*/
                if($db){
                  return $this->success('文章添加成功!','lst');
                }else{
                  return $this->error('文章添加失败!');
                }
            }else{
           return $this->error($validate->getError());
        }
```

 

weinxin
我的微信
这是我的微信扫一扫
开拓者博主
  • 本文由 发表于 2018年5月3日16:41:57
  • 转载请务必保留本文链接:https://www.150643.com/505.html
匿名

发表评论

匿名网友 填写信息