输出的 SQL 举例: ========================== SELECT t2.id, t2.title, t2.module, t2.pri, t2.estimate, t3.name AS product FROM `zt_projectstory` AS t1 LEFT JOIN `zt_story` AS t2 ON t1.story = t2.id LEFT JOIN `zt_product` AS t3 ON t1.product = t3.id WHERE t1.project = '33' AND t2.deleted = '0' AND t2.branch = '0' ORDER BY t1.`order` desc ============================ 出现问题的where部分 t2.branch = '0'
PHP Deprecated: Required parameter $sort follows optional parameter $type in \zentaopms\module\product\model.php on line 855
PHP Deprecated: Required parameter $pager follows optional parameter $type in \zentaopms\module\product\model.php on line 855
PHP Deprecated: Required parameter $orderBy follows optional parameter $type in \zentaopms\module\story\model.php on line 2289
PHP Deprecated: Required parameter $pager follows optional parameter $type in \zentaopms\module\story\model.php on line 2289
PHP Deprecated: Required parameter $orderBy follows optional parameter $type in \zentaopms\module\story\model.php on line 2305
===============
后面不罗列了,所有的 model.php 都存在 未制定默认值的问题.
例如:
public function getBySearch($productIDList, $branch = 0, $queryID, $orderBy, $excludeBugs = '', $pager = null, $projectID = 0)
这样的案例里 $queryID, $orderBy, 都必须给默认值.这是PHP8的新要求,请更新.
这个会影响到OPCACHE的编译.
456 行
$this->view->stories = $this->story->getExecutionStoryPairs($this->view->execution->id);
存在缺陷.
该语句主要是在TASK 编辑时,输出相关任务的下拉框.
当产品需求在一个分支(branch)里的时候,由于没有给 getExecutionStoryPairs 函数 具体的 分支属性,导致 getExecutionStoryPairs 在执行时直接采用了默认值 branch=0
最终导致无法匹配到产品需求.
输出的 SQL 举例:
==========================
SELECT t2.id, t2.title, t2.module, t2.pri, t2.estimate, t3.name AS product FROM `zt_projectstory` AS t1 LEFT JOIN `zt_story` AS t2 ON t1.story = t2.id LEFT JOIN `zt_product` AS t3 ON t1.product = t3.id WHERE t1.project = '33' AND t2.deleted = '0' AND t2.branch = '0' ORDER BY t1.`order` desc
============================
出现问题的where部分 t2.branch = '0'
类似的问题 在执行编辑 任务编辑 等都有发生,是一个严重BUG 请修正.