downblast 发表于 2008-11-21 18:12:00

[model问题]如何在一个model中调用另一个model中的函数

class A extends Model {
      function A() {
            parent::Model();
      }
      function foo() {      
              echo "hello from A";
      }//end of function foo
    }//end of A

    class B extends Model {
      function B() {
            parent::Model();
      }         
      function bar() {
            $this->B->foo();            //这行出错
      }//end of function bar      
    }//end of B

毫无疑问上面的例子会出错,那么如何实现上例所示的功能,即从model A中调用另一个model B中的函数

Hex 发表于 2008-11-21 23:20:39

不能这么调用。

沧蓝 发表于 2008-11-22 17:01:31

require_once 'model_b.php'

$b = new Model_B;

差不多这样子,就是传统的OOP读取方式。

xjflyttp 发表于 2008-11-23 21:11:16

通过 get_instance() 取得控制器的句柄引用 调用
$CI =& get_instance();
$CI->A->?
$CI->B->?

Hex 发表于 2008-11-24 14:32:22

控制器没有句柄,CI 一次执行中只有一个控制器实例,那就是 get_instance() 取得的超级对象。

bjbs_270 发表于 2008-11-24 14:41:01

这个问题可以用一下ActiveRecord http://codeigniter.com/wiki/ActiveRecord_Class_Mod/,昨天晚上看了一下这个代码有些问题,不过看一下代码很容易改过来,今天没带小黑,改天把我改造过的发上来

sankai 发表于 2008-11-25 09:58:23

下面的資訊雖然與樓主的問題無關,但我想算是不錯的資訊
最近在官網發現,有一個提供從控制器調用另外一個控制器結果的 library
http://codeigniter.com/forums/viewthread/80279/
页: [1]
查看完整版本: [model问题]如何在一个model中调用另一个model中的函数