有没有办法使用yii2 orm或命令构建器从db检索结果作为映射数组,如数组,其中key是ID,Value是数组中的某些列?
喜欢
OacAreacode::find()->asArray("areacode", "id")->all();
我已尝试过
ArrayHelper::map(OacAreacode::find()->all(), "areacode", "id");
但它很慢。
答案 0 :(得分:1)
将createCommand
和queryAll
与PDO::FETCH_KEY_PAIR
这样的参数
$res = Yii::$app->db->createCommand('SELECT id, areacode FROM areacode')->queryAll(PDO::FETCH_KEY_PAIR);
答案 1 :(得分:0)
你的第一个例子几乎是正确的。你会想要做这样的事情
OacAreacode::find()->select(['areacode', 'id'])->asArray()->all();