0

我想访问和更改已经在 codeigniter 的模型类中设置的变量。

CLASS m_example extends CI_Model{
var $A;
public function __construct(){
$this->A=21;
}
public function check_v()
{
return $this->A;
}
}

所以我想在控制器中调用函数 check_v() 之前更改变量 $A 。

谢谢!

4

3 回答 3

1

您可以使用 getter 和 setter 方法,如下所示,

class m_example extends CI_Model{
   private $A;

   public function __construct(){
      $this->A=21;
   }

   // get the value
   public function get_v()
   {
      return $this->A;
   }

   // set the value
   public function set_v($val){
      $this->A = $val;
   }
}

接着,

$this->load->model('m_example');
$this->m_example->set_v(50);
echo $this->m_example->get_v();
于 2013-08-22T08:55:17.093 回答
1

首先,加载模型:

$this->load->model('m_example');

访问它:

$this->m_example->a = "something";
于 2013-08-22T08:43:27.147 回答
0

因为你已经用 $this-> 在你的构造函数中设置了 A,所以它可以立即用于模型中的任何方法。因此,如果 $this->A 被其他方法更改,则 check_v() 将返回最新/更改的版本

function hijackA($newvalue){

$this->A = $newvalue ;
} 

在控制器中

$this->m_example->hijackA($newvalue) ;
$a = $this->m_example->check_v() ; 

check_v() 现在将返回 $newvalue

于 2013-08-23T00:06:21.603 回答