繁体   English   中英

致命错误:调用成员函数

[英]Fatal error: Call to a member function

查看索引时出现以下错误

Fatal error: Call to a member function findAllByStateId() on a non-object in /Applications/XAMPP/xamppfiles/htdocs/***/app/Controller/AjaxController.php on line 64

我的代码如下

 public function getzone($stateid="") {
    if(!empty($stateid))  {             
        $output =array();         
        $zonelist=$this->Zone->findAllByStateId($stateid);           
        foreach($zonelist as $zdata): 
             $output[$zdata['Zone']['id']]=$zdata['Zone']['name'];             
        endforeach; 
        echo json_encode($output);
        exit;
    } 
}

任何想法在这里是什么问题?

Zone属性似乎为null,或者不是有效的对象,
在访问findAllByStateId()方法之前尝试检查它

public function getzone($stateid="") {
if(!empty($stateid))  {             
    $output = array();         
    $zone    = $this->Zone;

    if (is_null($zone) || !is_object($zone)) {
        print 'zone is not a valid object';
        return json_encode($output);
    }

    $zonelist = $zone->findAllByStateId($stateid);           

    foreach($zonelist as $zdata): 
         $output[$zdata['Zone']['id']]=$zdata['Zone']['name'];             
    endforeach; 
    echo json_encode($output);
    exit;
} 
}

这意味着“区域”应该是一个包含findAllByStateId()函数的类,但是在这种情况下,当它尝试运行findAllByStateId()时,该区域不是一个类,因此不是。

最可能的原因是,创建“ Zone”实例的任何操作都失败了,您没有发现失败,因此当使用该失败时,程序将失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM