【问题标题】:making object and pass it on codeigniter view制作对象并将其传递给codeigniter视图
【发布时间】:2017-06-23 02:22:31
【问题描述】:

我有一个来自我的模型的查询。现在在我的控制器中,查询在循环内,现在我的查询中有两个对象结果。我怎样才能让它在我的视图中只传递一个对象?

这是我的代码:

public function graph_diagnose() {
       $diagnosis = $this->input->post('selectdiagnosis');
       for ($i = 0; $i < count($diagnosis); $i++) {
            $diagname = $this->Adminreport_model->getDiagName($diagnosis[$i]);
            echo json_encode($diagname);
       }
    }

现在我有一个存储在$diagname 中的查询结果,它在每个查询中包含两行。

这是echo json_encode的结果:

 array(1) {
  [0]=>
  object(stdClass)#23 (2) {
    ["diagnosis"]=>
    string(8) "Headache"
    ["diagnosis_id"]=>
    string(1) "1"
  }
}
array(1) {
  [0]=>
  object(stdClass)#24 (2) {
    ["diagnosis"]=>
    string(10) "Sakit Kaau"
    ["diagnosis_id"]=>
    string(1) "2"
  }
}

现在我想要将它作为一个对象进行 json 编码。 我想要这样的输出:

 array(1) {
  [0]=>
  object(stdClass)#23 (2) {
    ["diagnosis"]=>
    string(8) "Headache"
    ["diagnosis_id"]=>
    string(1) "1"
  }
  [1]=>
  object(stdClass)#23 (2) {
    ["diagnosis"]=>
    string(10) "Sakit Kaau"
    ["diagnosis_id"]=>
    string(1) "2"
  }
}

【问题讨论】:

    标签: php mysql codeigniter object


    【解决方案1】:

    定义一个数组来存储结果:

    $diagnames = [];
    

    在for循环内:

    $result = $this->Adminreport_model->getDiagName($diagnosis[$i]);
    $diagnames = array_merge($diagnames, $result);
    

    但我想知道为什么您的 getDiagName() 方法返回一个数组?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-23
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多