关于后盾网yii框架的学习小结(10)--使用AR类的增删改查

创建新的数据库的语句

<?php
class CategoryController extends Controller{
    public function filters(){
        return array(
                ‘accessControl‘,
            );
    }

    public function accessRules(){
        return array(
            //更加具体化
            // array(
            //  ‘allow‘,
            //  ‘actions‘=>array(‘del‘,‘add‘),
            //  ‘users‘ => array(‘admin‘)
            //  ),

            array(
                ‘allow‘,
                ‘actions‘=>array(‘index‘, ‘del‘,‘add‘, ‘edit‘),
                ‘users‘ => array(‘@‘)
                ),
            array(
                ‘deny‘,
                ‘users‘ => array(‘*‘)
                ),

            );
    }

    /**
     * 查看栏目
     */
    public function actionIndex(){
        $categoryModel = Category::model();
        $sql = "SELECT cid,cname FROM {{category}}";
        $categoryInfo = $categoryModel->findAllBySql($sql);

        $this->render(‘index‘, array(‘categoryInfo‘=>$categoryInfo));
    }

    /**
     * 添加栏目
     */
    public function actionAdd(){
        $categoryModel = new Category();

        if(isset($_POST[‘Category‘])){

            $categoryModel->attributes = $_POST[‘Category‘];

            if($categoryModel->save()){
                $this->redirect(array(‘index‘));
            }

        }
        // p($_POST);
        $this->render(‘add‘, array(‘categoryModel‘=>$categoryModel));
    }

    /**
     * 编辑栏目
     */
    public function actionEdit($cid){
        $categoryModel = Category::model();
        $categoryInfo = $categoryModel->findByPk($cid);

        // p($_POST);
        if(isset($_POST[‘Category‘])){
            $categoryInfo->attributes = $_POST[‘Category‘];
            if($categoryInfo->save()){
                $this->redirect(array(‘index‘));
            }
        }

        $this->render(‘edit‘, array(‘categoryModel‘=>$categoryInfo));
    }

    /**
     * 删除栏目
     */
    public function actionDel($cid){
        $articleModel = Article::model();

        $sql = "SELECT aid FROM {{article}} WHERE cid=$cid";
        $articleInfo = $articleModel->findBysql($sql);

        if(is_object($articleInfo)){
            Yii::app()->user->setFlash(‘hasArt‘, ‘栏目下面有文章,请先删除文章‘);
            $this->redirect(array(‘index‘));

        }else {
            if(Category::model()->deleteByPk($cid)){
                $this->redirect(array(‘index‘));
            }
        }
    }
}
时间: 2024-11-05 18:55:17

关于后盾网yii框架的学习小结(10)--使用AR类的增删改查的相关文章

关于后盾网yii框架的学习小结(9)--修改密码的方法,闪存

①修改密码的方法 /** * 修改密码 */ public function actionPasswd(){ $userModel = User::model(); if(isset($_POST['User'])){ $userInfo = $userModel->find('username=:name', array(':name'=>Yii::app()->user->name)); $userModel->attributes = $_POST['User']; i

关于后盾网yii框架的学习小结(7)--session的使用和redirect等的方法的使用

1.实现后台的登出功能. 登出方法主要两步,一个步骤是调用yii自带的logout方法,然后调用redurect方法跳转到首页 public function actionOut(){ Yii::app()->user->logout(); $this->redirect(array('index')); } 2.在后台模块初始化的时候,增加了这个方法 Yii::app()->setComponents(array( 'user' => array('stateKeyPref

关于后盾网yii框架的学习小结(8)--自定义前台的验证

在modle层里面的rules里面对应的规则列表 <?php class User extends CActiveRecord{ public $password1; public $password2; public static function model($className = __CLASS__){ return parent::model($className); } public function tableName(){ return "{{admin}}";

yii2 框架的 AR 和 DAO 增删改查

自己做个总结  方便以后查找使用 /** * yii 的增删改查 */ //增 public function add1($data) { $data = [ 'title'=>$data['YiiNews']['title'], 'msg'=>$data['YiiNews']['msg'], 'img'=>$data['News']['img'], ]; $this->setAttributes($data) ; return $this->insert(); } publ

hibernate学习笔记之三(单条记录的增删改查)

(hibernate学习笔记系列来自于 "疯狂Java" Hibernate视频学习) 保存用户 session.save(person); session.persist(person); 查询用户 load(Class theClass,Serializable id) get(Class theClass,Serializable id) 修改用户 session.update(person) session.merger(person); 保存或修改用户 session.sav

SSH学习四 Hibernate多对一的关系 + 增删改查

多对一关系实现起来不难,只需要在"多"的一方声明外键,声明外键在类的映射文件实现. 下面以老师学生为例,老师是1,学生是多 有一个有趣的地方,在Student类里面,没有声明teacherid这个属性,但是只要在配置文件声明了外键,那么就算类里面没有外键,配置文件的property也没有teacherid 下面是几个关键文件: 1.Student类(包含Student的增删改查) package com.learn.po; import org.hibernate.Session; i

Mybatis学习(3)实现数据的增删改查

前面已经讲到用接口的方式编程.这种方式,要注意的一个地方就是.在User.xml  的配置文件中,mapper namespace="com.yihaomen.mybatis.inter.IUserOperation" ,命名空间非常重要,不能有错,必须与我们定义的package 和 接口一致.如果不一致就会出错,这一章主要在上一讲基于接口编程的基础上完成如下事情: 1. 用 mybatis 查询数据,包括列表 2. 用 mybatis 增加数据 3. 用 mybatis 更新数据.

【框架】[Hibernate]利用Hibernate进行单表的增删改查-Web实例

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 前面两篇博客已经将Hibernate的基础知识讲解得差不多了,差不多到写实例的时候了. 本篇只用hibernate进行单表的增删改查. 应用Hibernate,对students表进行增删改查. service层和DAO层,我都是直接写实现类了(因为这里主要是演示一下Hibernate的使用),如果是开发项目,注意一定要写接口! 准备数据库: 首先准备一个students表: cr

C#学习笔记(6)——大项目增删改查

说明(2017-5-28 11:35:39): 1. 需要注意的地方很多 2. 首先是连接字符串str要直接写在类里面,不然每个按钮里面都要写一遍. 3. 查询用到sqlDataReader等三个方法,其他增删改只用到sqlCommond和sqlConnection. 4. sqlConnection记得要open! 5. 其他的记不起来了,总之要经常练习! 运行结果: 代码: 1 using System; 2 using System.Collections.Generic; 3 using