当我转移到另一个页面获取数据时(PHP错误消息:试图获取非对象的属性)

时间:2018-08-17 11:06:39

标签: php codeigniter

我想在另一个控制器中传输数据并在另一个页面上显示 但显示“消息:正在尝试获取非对象的属性”

这是我的代码

manifest.php(viewpage)-我想在其中获取voyage_id的值

    <?php foreach($voyage_info as $voyage) {  ?>

<input type="hidden" name="voyage_id" value="<?=$voyage->voyage_id?>">
                                                 <a class="btn btn-primary primary-bg btn-lg  col-md-4 m-2 btn-cus" href="<?php  echo base_url('PortClient/view_voyage/');?>">
 <h3>Voyage - <?=$voyage->voyage_number?></h3> 
 <small>Schedule - <?=$voyage->expected_arrival?> </small>
  </a>

  <?

php }  ?>

控制器(获取voyage_id的值)

public function view_voyage() {
    $this->Auth->authCheck();
    $data = $this->template();
    $voyage_id = $this->session->userdata('voyage_id');

    $data['view_cargo'] = $this->PortManifestModel->view_voyage($voyage_id)->result_array();


    // your code here

    $this->load->view("port/client/sub_manifest/sub_manifest_1", $data);
}

查看页面(我要在其中显示数据)

    <div class=" col-md-2">


  <label>Container Number: <?=$view_cargo->container_id?></label>


   </div>

但显示遇到PHP错误 严重程度:通知

消息:试图获取非对象的属性

文件名:sub_manifest / sub_manifest_1.php

行号:37

第37行是容器号:container_id?>

我需要做什么?

1 个答案:

答案 0 :(得分:0)

1)尽管您只想要一个结果,但是您正在控制器中使用result_array();改用row_array()。

2)$ view_cargo不是对象,而是数组,所以这样做:

<label>Container Number: <?=$view_cargo['container_id']?></label>