* Modify tree data.

This commit is contained in:
caoyanyi
2023-03-28 17:07:18 +08:00
parent 68bbb4471f
commit 3829a3232b
3 changed files with 49 additions and 4 deletions
+33 -1
View File
@@ -530,7 +530,7 @@ class apiModel extends model
public function getReleaseByQuery($libID, $pager = '', $orderBy = '')
{
return $this->dao->select('*')->from(TABLE_API_LIB_RELEASE)
->where('lib')->eq($libID)
->where('lib')->in($libID)
->orderBy($orderBy)
->page($pager)
->fetchAll();
@@ -1036,4 +1036,36 @@ class apiModel extends model
return array($normalObjects, $closedObjects);
}
/**
* Get lib tree.
*
* @param int $libID
* @param int $libs
* @param int $objectID
* @access public
* @return array
*/
public function getLibTree($libID, $libs, $objectID = 0)
{
$libTree = $this->loadModel('doc')->getLibTree($libID, $libs, 'api', $objectID);
$releases = $this->getReleaseByQuery(array_keys($libs), null, 'lib_asc, id_desc');
foreach($libTree as &$tree)
{
$tree->versions = array();
$tree->lastVersion = '';
foreach($releases as $index => $release)
{
if($tree->id == $release->lib)
{
if(empty($tree->versions)) $tree->lastVersion = $release->version;
$tree->versions[] = $release->version;
unset($releases[$index]);
}
}
}
return $libTree;
}
}