为什么这个 codeigniter 数据库返回值为 null?

Why is this codeigniter database return value null?

提问人:Ping 提问时间:11/15/2023 最后编辑:Ping 更新时间:11/15/2023 访问量:17

问:

CodeIgniter 4,我有以下控制器代码:

$product_tier = $this->SiteModel->getProductTierByPCUID($site->id, $p->uid);

使用以下型号代码:

public function getProductTierByPCUID($site_id, $pcuid) {
    $sql = 'SELECT * FROM site_product_tier WHERE site_id = ? AND pcuid = ?';
    $query = $this->db->query($sql, array($site_id, $pcuid));
    return $query->getRow();
}

如果我在呼叫下方回显 $product_tier,我会得到这个:

{
    "id": "256",
    "site_id": "22",
    "product": "0",
    "tier": "0"
}

getType($product_tier) 给了我对象。

但是,如果我运行这个:

$used_product_tiers = array();

$product_tier = $this->SiteModel->getProductTierByPCUID($site->id, $p->uid);

if (!in_array($product_tier->id, $used_product_tiers)) {

}

我收到错误:

{
    "title": "ErrorException",
    "type": "ErrorException",
    "code": 500,
    "message": "Attempt to read property \"id\" on null",
    "file": "/var/www/vhosts/dev.website.com/httpdocs/app/Controllers/Api.php",
    "line": 553,
}

第 553 行是 if 语句。

我错过了什么?

如果我将 product_tier->id 设置为 like 300,则代码有效,但它似乎无法在 if 语句中读取 $product_tier->id。

如果我尝试设置 $var = $product_tier->id;我得到同样的错误,除非我立即返回值。

重命名 $product_tier 也不起作用。

数据库 codeigniter null

评论


答: 暂无答案