消息:试图在 Codeigniter 3 中获取非对象的属性

Posted

技术标签:

【中文标题】消息:试图在 Codeigniter 3 中获取非对象的属性【英文标题】:Message: Trying to get property of non-object in Codeigniter3 【发布时间】:2021-10-19 20:25:41 【问题描述】:

我想显示每个表的详细数据(作为外键),但不是全部显示。

*我的模型页面中有此代码:

class m_masterinventory extends CI_Model
public function detail_datasset($id = NULL) 
        $query = $this->db->get_where('inv_inventory', array('id' => $id))->result();
        return $query;

*这是我的查看页面

<table class="table table-hover table-bordered table-striped">
  <tr>
    <th>ID</th>
    <td><?= $asset->initial; ?><?= date('yd', $asset->device); ?>

</td>
      </tr>
      <tr>
        <th>Nama</th>
        <td><?= $asset->name; ?></td>
      </tr>
      <tr>
        <th>Organization</th>
        <td><?= $asset->organization_id; ?></td>
        </tr>
      <tr>
        <th>Brand</th>
        <td><?= $asset->brand; ?></td>
      </tr>
      <tr>
        <th>Category</th>
        <td><?= $asset->category; ?></td>
      </tr>
      <tr>
        <th>Model</th>
        <td><?= $asset->model; ?></td>
      </tr>
      <tr>
        <th>Serial Number</th>
        <td><?= $asset->sn; ?></td>
      </tr>
      <tr>
        <th>Status</th>
        <td><?= $asset->status; ?></td>
      </tr>

  

*这是我的控制器页面

public function detail_asset($id)
    $this->load->model('m_masterinventory');

    $asset = $this->m_masterinventory->detail_datasset($id);
    $data['asset'] = $asset;

    $this->load->view('inv/detail-master-asset', $data);

【问题讨论】:

【参考方案1】:

在获取单行时使用row_array() 而不是result();

$query = $this->db->get_where('inv_inventory', array('id' => $id))->row_array();

在你看来使用数组$asset['category'];而不是$asset-&gt;category;

【讨论】:

结果是循环的,其他表的数据都是数字。我想以字符的形式合并另一个表中的数据【参考方案2】:
$asset = $this->m_masterinventory->detail_datasset($id);

$asset 是一个数组,而不是单个值。 因此,如果这是单行结果,则需要在视图中这样写。

&lt;td&gt;&lt;?= $asset[0]['name']; ?&gt;&lt;/td&gt;

如果结果是一行并且您不想使用数组,这很好,那么您需要在模型中使用row_array()

$query = $this->db->get_where('inv_inventory', array('id' => $id))->row_array();

这段时间你可以在你的视图中这样写。

&lt;td&gt;&lt;?= $asset['name']; ?&gt;&lt;/td&gt;

【讨论】:

结果是循环的,其他表的数据都是数字。我想以字符的形式(作为连接表)组合来自另一个表的数据。可以帮忙吗? 提供其他表格数据字段

以上是关于消息:试图在 Codeigniter 3 中获取非对象的属性的主要内容,如果未能解决你的问题,请参考以下文章

试图获取非对象的属性 - CodeIgniter

试图获得非对象的属性? PHP /笨

Laravel - Yajra Datatables 异常消息:试图获取非对象的属性

试图获得非对象的属性? PHP/代码点火器

codeigniter 返回“消息:未定义的属性:Welcome::$load”试图加载帮助程序库

Codeigniter 获取数据错误:尝试获取非对象的属性