我有一个具有以下结构的表
+-------------+------+
| date | price|
+-------------+------+
| 2014-02-19 | 34 |
| 2014-02-20 | 30 |
| 2014-02-21 | 28 |
+-------------+------+
如果我使用PDO::FETCH_ASSOC,我可以更改以下格式的关联数组,
array(
0=> array(
"date" => 2014-02-19 ,
"price" => 34
),
1=> array(
"date" => 2014-02-20 ,
"price" => 30
)
)
进入。。
array(
"2014-02-19" => 34,
"2014-02-20" => 30,
"2014-02-21" => 28
)
使用这段代码:
$results = array();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$results[$row['date']] = $row['price'];
}
我是Yii的新手,在Yii2中使用Active Records实现这一目标的最佳方式是什么。(或使用yiidbquery
)
您可以这样做:
$models = YourModel::find()->all();
$results = ArrayHelper::map($models, 'date', 'price');
或者你可以循环AR结果,比如:
$results = [];
foreach($models as $model) {
$results[$model->date] = $model->price;
}