It typically means that $menuId was empty/NULL. Ensure that $menuId variable has a proper value before using it in $select.:
You could add the following line at the beginning of your function, before you use $menuId in your $select->where() call:
if(empty($menuId))
return 0;
This will return 0 in case no $menuId was provided. If you want to throw an error (Exception) in such case, you could do the following:
if(empty($menuId))
throw new Exception("No Menu ID Provided");
Your complete function would look like this:
private function _getLastPosition ($menuId) {
if(empty($menuId))
throw new Exception("No Menu ID Provided");
$select = $this -> getDbTable() -> select();
$select -> where("menu_id = ?", $menuId)
-> order('position DESC');
$row = $this -> getDbTable() -> fetchRow($select);
if($row) {
return $row -> position;
} else {
return 0;
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…