Php 将总数添加到数组中
以下算法将用户添加到公司数组。我想为任何给定的公司添加用户总数。我该怎么做呢Php 将总数添加到数组中,php,cakephp,php-5.3,Php,Cakephp,Php 5.3,以下算法将用户添加到公司数组。我想为任何给定的公司添加用户总数。我该怎么做呢 public function all_company_information($id = null){ $arrCompany = array(); $arrCompany['company']= array(); $arrData = array(); $this->autoRender = false; $this->lo
public function all_company_information($id = null){
$arrCompany = array();
$arrCompany['company']= array();
$arrData = array();
$this->autoRender = false;
$this->loadModel("User");
$users = $this->User->find('all');
foreach($users as $k => $user){
if(!in_array($user['User']['company_id'], $arrCompany['company'])){
$arrCompany['company'][$user['User']['company_id']][] = $user;
}else{
$arrCompany['company'][$user['User']['company_id']][] = $user;
}
}
}
在公司模型上做一个查找,那么你就可以很容易地获得用户数量
$results = $this->Company->find('all');
foreach($results as $k => $company) {
$results[$k]['Company']['user_count'] = count($company['User']);
}
沿着这些路线的东西。返回的结果将是一个
公司
记录数组,每个公司
记录将在用户
键中有一个相关用户记录列表。哪里有$total++代码>突然来自???这个代码在哪个控制器中?我做了这个$this->autoRender=false;$this->loadModel(“用户”);$results=$this->User->Company->find('all');foreach($results as$k=>$company){$results[$k]['company']['user\u count']=count($company['user']);}如果你在公司控制器中,你可以只做$this->company->find(…)
如果公司和用户关联,你不必加载模型,你可以使用模型链接。确保您的关联设置正确。执行调试($results)代码>在find调用之后,首先查看是否返回了正确的数据。将调试输出发布到bin.cakephp.org,并将链接粘贴到此处。