如何获取yii select查询值作为数组



我在yii中非常新,因为我们在laravel中使用pluck()来获得数组中的特定列值,我如何在yii中做同样的事情。我期望数组中的值作为不同的对象返回

*********My query **********
$get_coupon_ids=Coupon_categories::find()->select(['coupon_id'])->where(['in', 'category',$category_id])->all();
*****************************
*********OutPut****************
[
{
"coupon_id": 13
},
{
"coupon_id": 14
},
{
"coupon_id": 15
}
]
***************************************
*******Expected value *************
[13,14,15]
*********************************

您可以使用column方法,它将返回每个结果的第一列。列(https://www.yiiframework.com/doc/api/2.0/yii-db-query)细节

$get_coupon_ids = Coupon_categories::find()
->select(['coupon_id'])
->where(['in', 'category', $category_id])
->column();

或使用array_map

$get_coupon_ids = Coupon_categories::find()
->select(['coupon_id'])
->where(['in', 'category', $category_id])
->all();
$ids = array_map(fn($id) => $id['coupon_id'], $get_coupon_ids);

最新更新