0

我在 CI 中编写了这个函数,出于各种原因,我需要将数组的内容分配给变量,以便稍后在控制器中使用。

由于这个遗留代码的设置方式,我需要从控制器获取数组的元素。如何从下面的函数获取 $data['oneResult'] 中的数组元素。我尝试了一些类似 element() 助手的东西。没有任何效果。在调试模式下,我看到了我需要的数据,此时我需要分配,所以我想这样做:

$holdID = $data['oneResult']['contact_id'];
$holdLoc = $data['oneResult']['location'];  etc.


public function getOneValue(){
    $this->load->model('get_contents');
    $data['oneResult'] = $this->get_contents->getSpecificRow();
    $data['title'] = 'One Record - Contacts table view';
    $this->load->view('contacts_view', $data);
}

我正在 CI 2 中对此进行测试,但需要它在 CI 1.7 中工作

谁能告诉我如何做到这一点?

4

2 回答 2

0

我想您希望下次访问控制器时数据可用。在这种情况下,由于 codeigniter 的架构和功能,全局变量将不会保存该值。

以下是可能的方法,我可以建议:

1)声明会话变量并使用。(不是一个非常有效的) 2)在配置文件中声明变量。(首选并且可能只是为您解决问题)。

如果以上两个都不能解决您的问题,请详细说明您的用例。
会给它一个新的尝试。

-- 寻求者01

于 2013-07-29T09:02:58.800 回答
0

制作一个全局变量并将数据分配给它..

  class something extend  CI_controller{
    var $holdID ='';
    var $holdLoc = '';  etc.

    public function __construct() {
      ....
    }
    public function index(){
       ...
    }

   public function getOneValue(){
      $this->load->model('get_contents');
      $data['oneResult'] = $this->get_contents->getSpecificRow();
      $this->holdID = $data['oneResult']['contact_id'];  //<----here assing value to global var
      $this->holdLoc = $data['oneResult']['location'];  //<--here
      $data['title'] = 'One Record - Contacts table view';
      $this->load->view('contacts_view', $data);
   }

 }
于 2013-07-29T05:17:29.890 回答