繁体   English   中英

Yii Php:在关联数组中获取具有特定键的值

[英]Yii Php: Getting values having a specific key in an associative array

我有一个看起来像这样的模型/数据库表

id | group_id| first_name | middle_name | last_name
------------------------------------------------------ 
   |          |            |             |      
------------------------------------------------------

从数据库中检索模型后:

说:

$people = PersonModel::model()->findAllByAttributes(array('group_id'=>$groupId));

并假设我已经检索了10行..匹配给定的groupId

我想存储匹配的10行的所有first_name。

我知道这可以通过以下方式完成:

$personArray = array();
foreach($people as $person){
   $personArray[] = $person->first_name;
}

但是还有另一种方法,例如做同样事情的php函数吗? 谢谢!

$criteria = new CDbCriteria;
$criteria->compare('group_id', $groupId);
$criteria->limit = 10;
$people = PersonModel::model()->findAll($criteria);
$personArray = $list = CHtml::listData($people, 'id','first_name');

CHtml :: listData()返回一个带有以下内容的关联数组 :['id'] =>'first_name'(模型的属性)

您可以先计算与group_id匹配的模型,例如:

PersonModel :: model()-> countByAttributes(array('group_id'=> $ groupId));

那么您可以将其限制为10并对其进行排序,并获得与之匹配的最新10行!

Yii:如何计算模型中的记录?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM