【问题标题】:Cakephp: how to access to model "variables" (mapped from db) from the controller after a set?Cakephp:设置后如何从控制器访问模型“变量”(从数据库映射)?
【发布时间】:2009-11-09 17:32:04
【问题描述】:

好的,我有这个控制器:

class ExampleController extends AppController {

    var $name = 'Example';


    public function test_me () {

      $this->Example->Create();

      $this->Example->set(  'variable_from_db_1' => 'random_value_1',
                            'variable_from_db_2' => 'random_value_2' );


     //here, how can i access to variable_from_db_1 and 2 in $this->Example?
     //???? i've tried $this->data and $this->Example->data but nothing to do

}

}

你有什么提示吗?

【问题讨论】:

    标签: cakephp variables model controller


    【解决方案1】:

    您可以通过以下方式探索数据: 调试($this->示例);

    数据是它自己的数组: $this->Example->data['variable_from_db_1'];

    【讨论】:

      【解决方案2】:

      我认为你做不到。

      您可以将模型数据分配给 $this->data 数组,如下所示:

      $this->data['variable_from_db_1'] = $value; $this->set('variable_from_db_1', $value);

      所以知道你可以在控制器中访问 $this->data。

      我认为如果您想将数据保存到您的实际模型中,您可能必须在模型中实现 getter / setter 方法...

      【讨论】:

        【解决方案3】:

        在相关视图中,您可以这样访问它:

        echo $variable_from_db_1.'<br />';
        echo $variable_from_db_2.'<br />';
        

        在控制器调用中

        debug($this->data);
        

        【讨论】:

        • 我必须在控制器中访问它们,而不是在视图中
        • 它的:debug($this->data);对不起
        【解决方案4】:

        我认为您不能在控制器中执行此操作,通常设置调用被移动到操作的末尾区域,并且必须在“设置”之前执行对此类变量的所有操作,以便以后在视图中访问。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-01-17
          • 2013-01-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-26
          • 2017-02-06
          • 2022-01-21
          相关资源
          最近更新 更多