我在codeigniter中使用activerecord。 我有一个看起来像这样的数据库:
+------------+--------------|----------+
|clientName | websiteNumber|langNumber|
|------------|--------------|----------|
|john | 1 | 2,5 |
|john | 2 | 2,3 |
|mark | 1 | 15,5 |
|steve | 1 | 5 |
|steve | 2 | 5 |
|amy | 1 | 15 |
+------------+--------------+----------+
我想按clientName分组,然后按websiteNumber分组,以便视图看起来像这样:
john
websiteNumber 1 langNumber 2,5
websiteNumber 2 langNumber 2,3
mark
websiteNumber 1 langNumber 15,5
steve
websiteNumber 1 langNumber 5
websiteNumber 2 langNumber 5
amy
websiteNumber 1 langNumber 15
我并不担心HTML或如何解析结果。我想知道使用活动记录使用一个查询的最佳方法是让它返回一个我可以在视图中循环的数组。
我想到了一些hacky方式 - 比如在foreach
循环中查询,但感觉不对,我希望有更好的方法。
答案 0 :(得分:0)
您需要使用order_by方法:
$this->db->order_by('clientName', 'asc');
$this->db->order_by('websiteNumber', 'asc');
$query = $this->db->get('client');
return $query->result_row();
答案 1 :(得分:0)
我不是活跃的记录专家,但我想您应该在客户名称上使用group by
,然后使用group_concat
结合php explode
进行查看。
我对活动记录的体验是,您应该期望与mysql_fetch_assoc
输出相同的输出。它不像Doctrine