On this page
指定话题下的文章列表api
controller层:application\api\controller\v1\Topic.php
php
use app\common\validate\TopicClassValidate;
...
// 获取指定话题下的文章列表
public function post()
{
// 验证分类id和分页数
(new TopicClassValidate())->goCheck();
$list=(new TopicModel)->getPost();
return self::showResCode('获取成功',['list'=>$list]);
}
route层:route\route.php
php
// 不需要验证token
Route::group('api/:version/',function(){
...
// 获取指定话题下的文章列表
Route::get('topic/:id/post/:page', 'api/v1.Topic/post');
...
});
model层:application\common\model\Topic.php
php
// 关联文章
public function post(){
return $this->belongsToMany('Post','topic_post');
}
// 获取指定话题下的文章(分页)
public function getPost(){
// 获取所有参数
$param = request()->param();
return self::get($param['id'])->post()->with(['user'=>function($query){
return $query->field('id,username,userpic');
},'images'=>function($query){
return $query->field('url');
},'share'])->page($param['page'],10)->select();
}