簡體   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