3-10 Yii2框架博客系统定义场景与文章创建逻辑
2018-03-28 14:58
513 查看
标题
1.场景应用
场景可以限制所应用的字段 可以自行调整修改和增加之间 字段的差异
1.场景应用
场景可以限制所应用的字段 可以自行调整修改和增加之间 字段的差异
场景的用法 目录/ frontend / models / PostForm.php |
/** * 用常量定义场景 * SCENARIOS_CREATE 创建 音标 [sɪ'nɑ:ri:əʊz] * SCENARIOS_UPDATE 更新 * 场景的应用就是限制了所应用的字段 可以自行调整 */ const SCENARIOS_CREATE = 'create'; #常量定义场景 const SCENARIOS_UPDATE = 'update'; /** * 场景设置 */ public function scenarios(){ $scenarios = [ self::SCENARIOS_CREATE=>['title','content','label_img','cat_id','tags'], self::SCENARIOS_UPDATE=>['title','content','label_img','cat_id','tags'], ]; return array_merge(parent::scenarios(),$scenarios); #继承了default的场景 将继承的场景覆盖合并到现在的场景中去。 } |
控制层写法 |
/** * 创建文章 */ public function actionCreate(){ $model = new PostForm(); // 定义场景 $model->setScenario(PostForm::SCENARIOS_CREATE); # setScenarios 设置场景 if ($model->load(Yii::$app->request->post() && $model->validate()) { if (!$model->create()) { Yii::$app->session->setFalsh('warning',$model->_lastError); }else{ return $this->redirect(['post/view','id'=>$model->id]); } } // 获取所有分类 $cat = CatsModel::getAllCats(); return $this->render('create',['model'=>$model,'cat'=>$cat]); } |
相关文章推荐
- Yii2框架博客系统创建文章model与form
- Yii2框架博客系统文章创建之表单生成
- Yii2框架博客系统创建文章控制器与数据表
- 3-6 Yii2框架博客系统文章创建-分类表单
- 3-7 Yii2框架博客系统文章创建-标签图上传
- 3-8 Yii2框架博客系统文章创建-富文本编辑器
- 3-9 Yii2框架博客系统文章创建-标签
- 3-11 Yii2框架博客系统文章创建create方法实现 观察者模式,高内聚,低松耦合
- 从零开始,搭建博客系统MVC5+EF6搭建框架(3),添加Nlog日志、缓存机制(MemoryCache、RedisCache)、创建控制器父类BaseController
- 从零开始,搭建博客系统MVC5+EF6搭建框架(3),添加Nlog日志、缓存机制(MemoryCache、RedisCache)、创建控制器父类BaseController
- 从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑
- Yii2框架博客系统前台界面布局
- 基于ssm框架的个人博客系统(10)--编写博客页面开发
- 利用WhiteHose一步步建立分布式系统的框架(三)--创建AD步骤(定义AD的第一部分)
- 利用WhiteHose一步步建立分布式系统的框架(四)--创建AD步骤(定义AD的第二部分)
- 从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑
- Yii2框架博客系统登录注册
- Django(博客系统):文章内容使用django-ckeditor、文章简介使用django-tinymce
- 博客6:磁盘以及创建文件系统的相关知识点
- 发现 一个业务管理系统 解决了 orm 和 前端框架 剩下的 是 业务逻辑 了 。 哈