我在CodeIgniter和练习中非常新鲜。我现在正在开发一个简单的Codeigniter应用程序,仅用于练习。我在数据库中拥有Banks及其分支机构。我只是想用它的银行名称来显示分支机构。分支机构正在显示但在控制器中获取银行时,此错误正在显示。我在SO links中尝试了这些,但没有找到任何效果。
"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();
结果
SELECT * FROM
tbl_bankmaster
WHEREbid
IS NULL
值$branch_list->bankid
为null
。当我对某些值进行硬编码时,视图页面显示没有任何错误。
答案 0 :(得分:1)
喜欢这个
$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
索引数组,因此您需要添加密钥才能访问子项
答案 1 :(得分:0)
在此视图中更改您的数据
foreach ($branch_list_data as $branch_list)
{
echo $branch_list['brname']; //change your data like this
echo $br_bank;
}
答案 2 :(得分:0)
我终于在Abdulla Nilam的答案帮助下实现了这一目标。我刚刚传递了数组中的值,如
def autocomplete(request):
fetch_field = request.GET.get('fetch_field')
sqs = SearchQuerySet().autocomplete(
content_auto=request.GET.get(
'query',
''))[
:5]
s = []
for result in sqs:
d = {"value": result.title, "data": result.object.slug}
s.append(d)
output = {'suggestions': s}
print('hihi' ,output)
return JsonResponse(output)
现在视图正常运作。
答案 3 :(得分:-1)
get_bank_by_branch($branch_list->bankid);
此方法仅返回对象
一个数组。
$get_bank
这个变量是你访问数组的,但它是一个对象。