我正在使用OctoberCMS构建应用程序,并希望根据类别列出每个帖子页面底部的相关博客文章 . 我想通了rainlab_blog_posts表没有指向博客类别表的外键 . 为了达到想要的目的,我想扩展blog_posts表并使用插件将category_id添加为外键 . 我在表迁移中定义了外键约束 . Everthing似乎很好 . 我的挑战是,每次创建新帖子时,如何在posts表中插入类别ID . OctoberCMS创建帖子后端有一个选项,作者通过从列表中选择为新博客帖子分配类别 . 只是不明白如何传递此类别ID并插入category_id字段中的rainlab_blog_posts表 .
这是我想在我的API中实现的:
routes.php
use Rainlab\Blog\Models\Post;
Route::get('apiv1/related-posts/{postid}',function($id)
{
$post = Post::where('id',$id)->first();
$posts = Post::where('category_id',$post->category_id)
->where('id','!=',$id)
->orderBy('views','desc')
->get()->take(5);
return $posts;
});
或者,如果有更好的方法实现这一点,将会欣赏 . 干杯!
1 回答
嗯这里似乎有点不对劲,
首先,我可以从
Blog Plugin
看到Blog <=> Category
它是 MM 关系所以你将 not 在rainlab_blog_posts
表中找到category_id
,因为all relation
是 maintained 由mm-relation
表rainlab_blog_posts_categories
.所以我认为你会
select only one category for blog
所以你只能get related blogs
只有那个类别 . [ assuming from your code and description ]所以你的代码看起来像这样
如果有任何疑问请评论 .