如何将以下内容转换为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;
答案 0 :(得分:9)
如果我理解你的问题,你需要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;
但我不知道你在Jobsprocess
代码中使用Yii 2
模型做了什么。因为,在Yii 1
格式中,您尚未使用该模型。
答案 1 :(得分:3)
Yii 2中CHtml::listData
的替换为ArrayHelper::map()
示例:
$jobTitleList = ArrayHelper::map($jobTitle, 'job_title_id', 'desc');
在official docs中阅读更多内容。