簡體   English   中英

CakePHP:不能將標量值用作數組

[英]CakePHP: Cannot use a scalar value as an array

我正在嘗試此代碼:

我的代碼段

public function beforeFind($query) {
        $query = parent::beforeFind($query);
        if(!isset($query['conditions'])){
            $query['conditions'] = array();
        }
        if(!$this->Authake->isAdmin()){
            if(empty($query['conditions']) || is_array($query['conditions'])){
                $query['conditions'] = array('organ_id' => $this->Organ->Group->getUserBranches());
            }
        }
        return $query;
    }

但是我收到這個錯誤

錯誤

Warning (2): Cannot use a scalar value as an array [APP\Model\Ticket.php, line 56]

Warning (2): Cannot use a scalar value as an array [APP\Model\Ticket.php, line 56]

評論員所述,$ query不是數組,而beforeFind返回布爾值。 因此,以下一行出現了問題。

$query = parent::beforeFind($query);

更正為

沒有使用父方法,因為它被重寫以實現自己的邏輯。

所以正確的代碼是

public function beforeFind($query) {
            if(!isset($query['conditions'])){
            $query['conditions'] = array();
        }
        if(!$this->Authake->isAdmin()){
            if(empty($query['conditions']) || is_array($query['conditions'])){
                $query['conditions'] = array('organ_id' => $this->Organ->Group->getUserBranches());
            }
        }
        return $query;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM