用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2973|回复: 9
收起左侧

[已解决] 事务可以夹杂到两个model外执行么?

[复制链接]
发表于 2012-4-9 11:32:45 | 显示全部楼层 |阅读模式
本帖最后由 kissgxd 于 2012-4-9 14:22 编辑

先看代码

PHP复制代码
 
某某control{        $this->db->trans_start();//在某个control里开启了事务
        $this->load->model("process_init");//load了一个model A执行了些SQL语句
        $this->load->model("process_check");//load了一个model B执行了些SQL语句
        $this->load->model("process_article");//load了一个model C执行了些SQL语句
        $this->db->trans_complete();//提交事务}
 
复制代码


就像上边代码一样,把开始结束事务放到了外面,在model里执行相关的SQL代码,不知道可以么


P.S.已经解决了,应该是能执行的,我写了测试代码,发现事务起作用了


发表于 2012-4-9 20:46:26 | 显示全部楼层
谢谢楼主的分享~~~
发表于 2012-5-1 16:20:04 | 显示全部楼层
我加载第二个model的时候提示末定义
 楼主| 发表于 2012-5-3 14:03:21 | 显示全部楼层
sola 发表于 2012-5-1 16:20
我加载第二个model的时候提示末定义

你贴一下代码
发表于 2012-5-5 10:23:57 | 显示全部楼层
kissgxd 发表于 2012-5-3 14:03
你贴一下代码
PHP复制代码
/**
                * 构造方法
                */

        function __construct(){
            parent::__construct();
                        $this->session->userdata['user_id']!='' ? : redirect('login');
                        $this->load->model('video_model','video');
                        $this->load->model('user_model','user');
        }
 
 
private function getUserById($uid){
                        $result = $this->user->userById($uid);
                        file_put_contents('result.txt', var_export($result,true));
                        exit();
                }
 
 
复制代码


HTML复制代码
 
A PHP Error was encounteredSeverity: Notice
Message:  Undefined property: Video:user
Filename: controllers/video.php
Line Number: 47
 
 
 
复制代码


 楼主| 发表于 2012-5-5 10:49:59 | 显示全部楼层
sola 发表于 2012-5-5 10:23

正常啊,你在构造函数里定义的$user,在getUserById里本来就读不到的
发表于 2012-5-5 10:57:56 | 显示全部楼层
kissgxd 发表于 2012-5-5 10:49
正常啊,你在构造函数里定义的$user,在getUserById里本来就读不到的

为什么 ??? 要怎么做?
发表于 2012-5-5 10:58:50 | 显示全部楼层
kissgxd 发表于 2012-5-5 10:49
正常啊,你在构造函数里定义的$user,在getUserById里本来就读不到的

我直接写在这个方法里面也不行呐  
 楼主| 发表于 2012-5-5 13:09:36 | 显示全部楼层
sola 发表于 2012-5-5 10:58
我直接写在这个方法里面也不行呐

private function getUserById($uid){

                        $this->load->model('user_model','user');

                        $result = $this->user->userById($uid);
                        file_put_contents('result.txt', var_export($result,true));
                        exit();
                }
这样也不行么?
发表于 2012-5-7 11:44:20 | 显示全部楼层
kissgxd 发表于 2012-5-5 13:09
private function getUserById($uid){

                        $this->load->model('user_model','user ...

呵呵 是我model extends 的地方写错 了!!嘻嘻!!不好意思!!!

本版积分规则