Codeigniter活动记录查询计数
在我的项目中我有4个表格。一种叫Calls
,Projects
,Products
和Users
。Codeigniter活动记录查询计数
呼叫有2 FK(project_id
和user_id
)和项目具有一个FK(product_id
)。
我想查询表致电我想知道每个运营商收到的每个产品的呼叫数量。
我想查询是这样的:
[{"name":"User1","Project1":"120","Project2":"10,"Project3":"140...} {"name":"User2","Project1":"80","Project2":"60,"Project3":"14...}]
回答:
我猜当你的意思是运营商你的意思是用户
$this->db->select('count(P.product_id) as total_product ,CL.project_id, CL.user_id, P.project_name') ->from('Calls CL')
->join('Projects P', 'P.project_id=CL.project_id')
->group_by('CL.project_id, CL.user_id')
->get();
现在你可以通过你的结果写一个PHP脚本循环使json
$index = 0; $user_data = array();
$user_key = array();
foreach ($result as $row) {
if(!isset($user_key[$row['user_id']])){
$user_key[$row['user_id']] = $index;
$index++;
}
$user_data[$user_key[$row['user_id']]]['user_name'] = $row['user_name'];
$user_data[$user_key[$row['user_id']]][$row['project_name']] = $row['total_product'];
}
我没有测试代码,但它应该工作
以上是 Codeigniter活动记录查询计数 的全部内容, 来源链接: utcz.com/qa/263065.html