gpt4 book ai didi

activerecord - yii2 - 使用 FETCH_KEY_PAIR 数组格式的 activerecord 获取数据

转载 作者:行者123 更新时间:2023-12-04 05:28:22 36 4
gpt4 key购买 nike

我有这样的表:

CREATE TABLE `developer` (
`id` bigint(20) AUTO_INCREMENT,
`name` varchar(1024) NOT NULL,
`link` varchar(1024) NOT NULL,
`parent` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `parent` (`parent`),
CONSTRAINT `developer_ibfk_1` FOREIGN KEY (`parent`) REFERENCES `developer` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB CHARSET=utf8 COLLATE=utf8_unicode_ci;

我只想从该表的 PDO::FETCH_KEY_PAIR 数组中获取 id,name 并使用:

Developer::find()->select(['id', 'name'])->asArray()->all();

但是我无法获取PDO::FETCH_KEY_PAIR格式的数据
我该怎么做?

最佳答案

您可以使用 ArrayHelper 生成数组,keyid 字段,valuename 字段。像这样使用:

ArrayHelper::map(Developer::find()->select(['id', 'name'])->asArray()->all(), 'id', 'name')

更多http://www.yiiframework.com/doc-2.0/guide-helper-array.html#building-maps

编辑:您可以像这样使用 createCommand:

$res = Yii::$app->db->createCommand('SELECT id, name FROM developer')->queryAll(PDO::FETCH_KEY_PAIR);

但是如果你想使用 ActiveRecord 请参阅 https://github.com/yiisoft/yii2/blob/master/framework/db/Query.php#L204在此行中未设置 fetchMode

您可以采用QueryActiveRecord 类并更改他的。并从新类扩展您的 Develop 模型。

关于activerecord - yii2 - 使用 FETCH_KEY_PAIR 数组格式的 activerecord 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29578563/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com