Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何解决消息:尝试获取Codeigniter中非对象错误的属性?_Php_Mysql_Codeigniter_Activerecord_Codeigniter 3 - Fatal编程技术网

Php 如何解决消息:尝试获取Codeigniter中非对象错误的属性?

Php 如何解决消息:尝试获取Codeigniter中非对象错误的属性?,php,mysql,codeigniter,activerecord,codeigniter-3,Php,Mysql,Codeigniter,Activerecord,Codeigniter 3,我在CodeIgniter和练习方面非常新鲜。我现在正在开发一个简单的Codeigniter应用程序,只是为了练习。我在数据库中找到了银行及其分支机构。我只想让分行看看它的银行名称。分支正在显示,但在获取银行时控制器中显示此错误。我试了这么多,但没有找到有效的 "A PHP Error was encountered Severity: Notice Message: Trying to get property of non-object" in Line Number: 85 and

我在CodeIgniter和练习方面非常新鲜。我现在正在开发一个简单的Codeigniter应用程序,只是为了练习。我在数据库中找到了银行及其分支机构。我只想让分行看看它的银行名称。分支正在显示,但在获取银行时控制器中显示此错误。我试了这么多,但没有找到有效的

"A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object"

in Line Number: 85 and 91
这是我的控制器

function ShowBranchList() {

            $branch_list = $this->FD_Model->get_all_branches();
            $get_bank =   $this->FD_Model->get_bank_by_branch($branch_list->bankid); //This is Line Number 85
            if($branch_list ){
            $data = array(
                'pagetitle' => 'Branch List View',
                'branch_list_data' => $branch_list,
                'br_bank' => $get_bank['bank_name'],//This is Line Number 93
            );

        }
型号

/*function for getting all branches*/

function get_all_branches() {
    $this->db->order_by( $this->brid, $this->order );
    return $this->db->get( $this->brtable )->result();
}


/*function for getting banks by branches*/

function get_bank_by_branch( $id ) {
        $this->db->where( $this->bid, $id);
        return $this->db->get( $this->banktable )->row();
    }
最后,这是我的观点

 foreach ($branch_list_data as $branch_list) 
        { 
          <?php echo $branch_list->brname ?>
          <?php echo $br_bank; ?>
        }
结果

tbl_bankmaster
中选择*其中
bid
为空


$branch\u list->bankid
null
。当我对某些值进行硬编码时,视图页面显示时不会出现任何错误。

像这样更改视图中的数据

foreach ($branch_list_data as $branch_list) 
{ 
   echo $branch_list['brname']; //change your data like this
   echo $br_bank; 
}
$get_bank =   $this->FD_Model->get_bank_by_branch($branch_list[0]->bankid);
按分行获取银行($branch\u list->bankid)此方法仅返回对象。
$get\u bank
这个变量是由数组访问的,但它是一个对象。

这样做吗

foreach ($branch_list_data as $branch_list) 
{ 
   echo $branch_list['brname']; //change your data like this
   echo $br_bank; 
}
$get_bank =   $this->FD_Model->get_bank_by_branch($branch_list[0]->bankid);

'br_bank' => $get_bank[0]->bank_name # this will work maybe

它的
0
索引数组,因此您需要添加密钥来访问孩子的


我终于在他的回答的帮助下实现了。我只是在数组中传递值,如下所示

'br_bank' => $get_bank->bank_name

现在视图开始工作。

行号??post complete Error阅读我已经添加了这行。请检查我更新的问题。@SudhiSr检查我的答案谢谢你的回答。但我在获得分支时没有问题。我从树枝上取布兰克时出错。这里,
$get\u bank=$this->FD\u Model->get\u bank\u by\u branch($branch\u list->bankid)
$get\u bank=$this->FD\u Model->get\u bank\u by\u branch($branch\u list->bankid)中有错误。我认为
$branch\u list->bankid
为空。这才是真正的问题。当我尝试硬编码bankid值时,查看页面运行良好。@SudhiSr使用此
$branch\u list[0]->bankid
仔细检查模型中的返回类型是否有任何更改?请保持原样并更改我提到的控制器代码。我认为您的方法正确。现在查询返回值,但
'br\u bank'=>$get\u bank[0]->bank\u name
中有错误。该错误是致命错误:无法将stdClass类型的对象用作此行中的数组
'br\u bank'=>$get\u bank[0]->bank\u name
我也尝试了
'br\u bank'=>$get\u bank[0]['bank\u name']
。错误是一样的。