_after_insert重复写入数据的问题。

浏览:2312 发布日期:2015/04/15 分类:技术分享
最近项目需要在某个model进行insert的方法进行后置操作,可是发现会存在重复写入数据的问题。
代码如下。用onethink做例。
在Application\Admin\Controller\PublicController.class.php如添加如下测试方法。    public function testinsert(){
        $data['pid'] = 0;
        $data['title'] = 'test';
        $data['url'] = 'index.php';
        $data['sort'] = 111;
        $data['create_time'] = time();
        $data['status'] = 1;
        $data['target'] = 0;
        $model = D("Channel");
        $model->add($data);
    }
在Application\Admin\Model\ChannelModel.class.php中添加如下方法:    protected function _after_insert($data, $options) {
        parent::_after_insert($data, $options);
        $id = $this->getLastInsID();
        dump($id);
    }
然后访问一下http://localhost/index.php?s=/admin/public/testinsert.html
你会惊喜的发现,数据写了两次。

最佳答案
评论() 相关
后面还有条评论,点击查看>>