yii2 列表数据从 yii1.x 转换

yii2 listdata convert from yii1.x

如何将以下内容转换为 yii2

$dependency = new CDbCacheDependency('SELECT count(*) FROM job_title');
$jobTitle  = JobTitle ::model()->cache(CACHE_TIMEOUT,$dependency)->findAll($array);
$jobTitleList = CHtml::listData($jobTitle, 'job_title_id','desc');
return $jobTitleList;

我的以下代码不起作用。

use yii\db\ActiveRecord;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;

$items = array();
foreach (Jobsprocess::find()->where($array)->all() as $value) {
    $items[$value->process_id] = $value->jobsprocess;
}
return $items;

Yii 2 中 CHtml::listData 的替换为 ArrayHelper::map() 示例:

$jobTitleList = ArrayHelper::map($jobTitle, 'job_title_id', 'desc');

official docs 阅读更多内容。

如果我对你的问题理解正确,你需要以下 Yii 2 格式的代码。

Yii 1:

$dependency = new CDbCacheDependency('SELECT count(*) FROM job_title');
$jobTitle  = JobTitle ::model()->cache(CACHE_TIMEOUT,$dependency)->findAll($array);
$jobTitleList = CHtml::listData($jobTitle, 'job_title_id','desc');
return $jobTitleList;

Yii 2:

use yii\helpers\ArrayHelper;
use app\models\JobTitle;

$jobTitleList = ArrayHelper::map(JobTitle::find()->where($array)->all(), 'job_title_id','desc');
return $jobTitleList;

但我不知道您在 Yii 2 代码中使用 Jobsprocess 模型做什么。因为,在 Yii 1 格式中您还没有使用该模型。