gpt4 book ai didi

php - 尝试获取与有效对象一起显示的非对象的属性

转载 作者:行者123 更新时间:2023-11-29 10:45:31 24 4
gpt4 key购买 nike

我正在使用 Codeigniter 和 Active Record,但遇到了一个奇怪的问题。

我有以下 PHP 代码:

foreach ($list_all->result() as $all_Array){
$current_r = $all_Array->id_r;
$get_ongoing_loan_player = $this->get_ongoing_loan_player($current_r);
$ongoing_loan_info = $get_ongoing_loan_player->row();
var_dump($ongoing_loan_info);
$daily_payment_player = $ongoing_loan_info->daily_payment;
...
}

get_ongoing_loan_player 看起来像这样:

protected function get_ongoing_loan_player($currentID){
$this->db->select('daily_payment');
$this->db->from('game_signed_loans');
$this->db->where('id_r', $currentID);
$query = $this->db->get();
return $query;
}

但是 PHP 抛出错误:

A PHP Error was encountered Severity: Notice Message: Trying to get property of non-object

var_dump 返回以下内容:

object(stdClass)#38 (1) { ["daily_payment"]=> string(5) "38670" } NULL

请注意括号外末尾的NULL。我还没有找到这个 NULL 的解释。

我之前有一个非常相似的函数,它工作正常,但在该函数中,NULL 不存在。我很确定这是由这个引起的。

我不需要加载模型,因为它位于同一页面上(而且我尝试过但没有帮助)。

我的结果是一个对象而不是数组,所以我无法理解错误消息...

最佳答案

在第一次迭代中,$ongoing_loan_info 是一个对象,因此它会打印出来并正常工作。在第二次迭代中,$ongoing_loan_info 为 null,因此会引发错误。在尝试从中获取数据之前,您需要确保该行存在。如果此三元数为空,则将玩家设置为 0,或者您可以将其替换为您想要的任何内容。

$daily_payment_player = $ongoing_loan_info ? $ongoing_loan_info->daily_payment : 0;

关于php - 尝试获取与有效对象一起显示的非对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44660401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com