function get_user($start = 0, $limit = 5) {
$sql = "SELECT u.articles as num, u.id,u.name FROM `user` as u LIMIT $start,$limit";
$list = array ();
$query = $this->db->query ( $sql );
foreach ( $query->result_array () as $model ) {
$followed = $this->followed ( $model ['id'], $this->base->user ['id'] );
$model ['hasfollower'] = $is_followed == 0 ? "0" : "1";
$list [] = $model;
}
return $list;
}
现在需要基于上面的数组中的id作为条件,来再次查询
select sum(views) from topic where author=$model ['id']
那么我需要在数组每个值中输出sum(views)。
应该怎么结合。
建立一个sum(views)的试图,左链接取试图中的sum(views)列值就行了,干嘛要读2次数据库
大概如下,没测试
create view sumviews
as
select sum(views) as sumviews from topic group by author
$sql = "SELECT u.articles as num, u.id,u.name,sv.sumviews FROM `user` as u left join sumviews as sv on sv.author=u.id LIMIT $start,$limit";
可以通过创建视图来进行处理,也可以通过SQL的级联查询来进行处理。