我有一个包含以下结构的表
+-------------+------+
| 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的新手,使用Active Records在Yii2中实现相同目标的最佳方法是什么。 (或使用yii\db\query
)
答案 0 :(得分:2)
您可以这样做:
$models = YourModel::find()->all();
$results = ArrayHelper::map($models, 'date', 'price');
或者您可以循环AR结果,如:
$results = [];
foreach($models as $model) {
$results[$model->date] = $model->price;
}