[英]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.