CURD代码精简方法

浏览:837 发布日期:2014/12/31 分类:技术分享
貌似可以少敲几行代码的东西,    public function _insert($options = false)
    {
        //数据来源必须为AJAX、表名不为空、返回信息为数组数据
        if (IS_AJAX && is_array($options))
        {
            $varModel = D($options['tableName']);
            if($varModel->create())
            {
                $insertId = $varModel->add();
                if($insertId)
                {
                    $data['status']  = 1;
                    $data['url'] = U($options['successURL']);
                    $data['content'] = $options['success'];
                }
                else
                {
                    $data['status']  = 0;
                    $data['content'] = $options['error'];
                }
            }
            else
            {
                $data['status']  = 0;
                $data['content'] = $varModel->getError();
            }
        }
        else
        {
            $data['status']  = 0;
            $data['content'] = '未知错误,系统无法处理!!!';
        }
        $this->ajaxReturn($data,'JSON');
    }
    public function _update($options = false)
    {
        if (IS_AJAX && is_array($options))
        {
            $varModel = D($options['tableName']);
            if($varModel->create())
            {
                $result = $varModel->save();
                if($result)
                {
                    $data['status']  = 1;
                    $data['url'] = U($options['successURL']);
                    $data['content'] = $options['success'];
                }
                else
                {
                    $data['status']  = 0;
                    $data['content'] = $options['error'];
                }
            }
            else
            {
                $data['status']  = 0;
                $data['content'] = $varModel->getError();
            }
        }
        else
        {
            $data['status']  = 0;
            $data['content'] = '未知错误,系统无法处理!!!';
        }
        $this->ajaxReturn($data,'JSON');
    }
    public function _delete($options = false)
    {
        if (IS_AJAX && is_array($options))
        {
            $varModel = M($options['tableName']);
            $result = $varModel->where($options['map'])->delete();
            if(false !== $result)
            {
                $data['status']  = 1;
                $data['url'] = U($options['successURL']);
                $data['content'] = $options['success'];
            }
            else
            {
                $data['status']  = 0;
                $data['content'] = $options['error'];
            }
        }
        else
        {
            $data['status']  = 0;
            $data['content'] = '未知错误,系统无法处理!!!';
        }
        $this->ajaxReturn($data,'JSON');
    }
调用:public function edit($id = 0){
        $Menu = M('Messages');
        $data = $Menu->where('id='.$id)->find();
        $this->assign('data',$data);
        $this->display();
    }
    public function update()
    {
        $options = array(
            'tableName' => 'Messages',
            'success' => '修改成功。',
            'successURL' => 'Admin/Messages/index',
            'error' => '没有更新,可能由于源信息并没有变动所导致。'
        );
        $this->_update($options);
    }
    public function delete($id = 0)
    {
        $options = array(
            'tableName' => 'Messages',
            'map' => array('id' => $id),
            'success' => '删除成功。',
            'successURL' => 'Admin/Messages/index',
            'error' => '删除失败。'
        );
        $this->_delete($options);
    }
++++++++++++++++++++++++++++++
先把顶上那段写到公共继承的类里:class MessagesController extends AdminController {然后,所以子类都可以使用了。
今天给人做个简单的小东西,要求不高,所以没有过份优化操作,看大家能不能用的上吧,东西很简单,新手代码,大鸟就漂过吧。
最佳答案
评论( 相关
后面还有条评论,点击查看>>