[英]Codeigniter active record query count
在我的項目中,我有4張桌子。 一種叫做Calls
, Projects
, Products
和Users
。
呼叫有2個FK( project_id
和user_id
),而Projects有一個FK( product_id
)。
我正在嘗試查詢表Calls ,我想知道已經從每個運營商處收到了每種產品的呼叫數量。
我正在嘗試查詢如下內容:
[{"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'];
}
我沒有測試代碼,但應該可以
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.