//通过过滤条件查询当前版块的帖子,不同方式排序,不同类型帖子
//sort排序,flag帖子类型,page页码
//是否开启分页
//当前页数
//每页显示条数
public static function getForumPostsWithFilter($id, $sort = 'default', $flag = 'default', $size = 30)
{
return self::where(['id' => $id, 'status' => self::STATUS_ACTIVE])
->applySort($sort) //追加排序条件
->select();
}
//动态追加排序条件
public function applySort($sort)
{
switch ($sort) {
case 'recent':
return $this->sortRecent();
break;
default:
return $this->sortActive(); //最后回复排序
break;
}
}
//最新帖子排序
protected function sortRecent()
{
return $this->order('created_at', 'desc');
}
//最后回复排序
protected function sortActive()
{
return $this->order('updated_at', 'desc');
}
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。