This commit is contained in:
tianshujie
2022-03-24 09:35:39 +08:00
parent bd9b982157
commit e9ee8a176d
4 changed files with 51 additions and 34 deletions
+9 -5
View File
@@ -62,13 +62,14 @@ class programModel extends model
/**
* Get the product associated with the program.
*
* @param int $programID
* @param string $mode all|assign
* @param string $status all|noclosed
* @param int $programID
* @param string $mode all|assign
* @param string $status all|noclosed
* @param string|array $append
* @access public
* @return array
*/
public function getProductPairs($programID = 0, $mode = 'assign', $status = 'all')
public function getProductPairs($programID = 0, $mode = 'assign', $status = 'all', $append = '')
{
/* Get the top programID. */
if($programID)
@@ -80,12 +81,15 @@ class programModel extends model
}
/* When mode equals assign and programID equals 0, you can query the standalone product. */
if(!empty($append) and is_array($append)) $append = implode($append, ',');
$views = $append ? $this->app->user->view->products . ",$append" : $this->app->user->view->products;
$products = $this->dao->select('*')->from(TABLE_PRODUCT)
->where('deleted')->eq(0)
->andWhere('vision')->eq($this->config->vision)
->beginIF($mode == 'assign')->andWhere('program')->eq($programID)->fi()
->beginIF(strpos($status, 'noclosed') !== false)->andWhere('status')->ne('closed')->fi()
->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->products)->fi()
->beginIF(!$this->app->user->admin)->andWhere('id')->in($views)->fi()
->fetchPairs('id', 'name');
return $products;
}