我对CodeIgniter和练习非常新鲜。我现在正在开发一个简单的Codeigniter应用程序,仅用于练习。我在数据库中有银行及其分支机构。我只想显示带有银行名称的分行。显示分支,但在获取银行时在控制器中显示此错误。我在 SO 链接中尝试了这些,但没有任何发现有效。
"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; ?>
}
有人知道这个问题吗?
更新
当我想要查看查询时
echo $this->db->last_query();
结果
从
tbl_bankmaster
bid
为空的地方选择 *
值$branch_list->bankid
为 null
。当我对某些值进行硬编码时,视图页面显示没有任何错误。
这样做
$get_bank = $this->FD_Model->get_bank_by_branch($branch_list[0]->bankid);
和
'br_bank' => $get_bank[0]->bank_name # this will work maybe
或
'br_bank' => $get_bank[0]['bank_name']
它
0
索引数组,因此您需要添加密钥才能访问孩子的
像这样更改视图中的数据
foreach ($branch_list_data as $branch_list)
{
echo $branch_list['brname']; //change your data like this
echo $br_bank;
}
我终于在阿卜杜拉·尼拉姆的回答的帮助下实现了它。我刚刚在数组中传递了值,例如
'br_bank' => $get_bank->bank_name
现在视图正在工作。
get_bank_by_branch($branch_list->bankid);
此方法仅返回对象。 $get_bank
这个变量,你通过数组访问,但它是一个对象。