fix: 文章详情推荐文章
This commit is contained in:
@@ -3,6 +3,7 @@ declare (strict_types = 1);
|
|||||||
|
|
||||||
namespace app\index\controller;
|
namespace app\index\controller;
|
||||||
|
|
||||||
|
use app\admin\controller\v1\ArticleCategory;
|
||||||
use app\index\model\ArticleCategoryModel;
|
use app\index\model\ArticleCategoryModel;
|
||||||
use app\index\model\ArticleLeaveMessageModel;
|
use app\index\model\ArticleLeaveMessageModel;
|
||||||
use app\index\model\ArticleModel;
|
use app\index\model\ArticleModel;
|
||||||
@@ -115,6 +116,9 @@ class Article extends Common
|
|||||||
View::assign('comments', $comments);
|
View::assign('comments', $comments);
|
||||||
|
|
||||||
// 获取倒序或发布时间倒序3篇文章做为推荐文章
|
// 获取倒序或发布时间倒序3篇文章做为推荐文章
|
||||||
|
$category_model = new ArticleCategoryModel;
|
||||||
|
$parent_id = $category_model->bypk($detail['category_id'])->value('pid');
|
||||||
|
$categorys = $category_model->child($parent_id)->column('id');
|
||||||
$recommends = ArticleModel::field([
|
$recommends = ArticleModel::field([
|
||||||
'id',
|
'id',
|
||||||
'title',
|
'title',
|
||||||
@@ -123,6 +127,7 @@ class Article extends Common
|
|||||||
])
|
])
|
||||||
->where('id', '<>', $id)
|
->where('id', '<>', $id)
|
||||||
->language($this->lang_id)
|
->language($this->lang_id)
|
||||||
|
->category($categorys)
|
||||||
->order(['release_time' => 'desc', 'id' => 'desc'])
|
->order(['release_time' => 'desc', 'id' => 'desc'])
|
||||||
->limit(3)
|
->limit(3)
|
||||||
->select();
|
->select();
|
||||||
|
|||||||
@@ -46,6 +46,17 @@ class ArticleCategoryModel extends ArticleCategoryBaseModel
|
|||||||
$query->where('pid', '=', $parent);
|
$query->where('pid', '=', $parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 所属子分类范围查询
|
||||||
|
public function scopeChild($query, $id, $merge_self = false)
|
||||||
|
{
|
||||||
|
$query->where(function($q) use($id, $merge_self) {
|
||||||
|
$q->where('pid', '=', $id);
|
||||||
|
if ($merge_self) {
|
||||||
|
$q->whereOr('id', '=', $id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// 是否显示状态范围查询
|
// 是否显示状态范围查询
|
||||||
public function scopeIsShow($query, bool $is_show)
|
public function scopeIsShow($query, bool $is_show)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -32,6 +32,11 @@ class ArticleModel extends ArticleBaseModel
|
|||||||
// 文章分类范围查询
|
// 文章分类范围查询
|
||||||
public function scopeCategory($query, $category)
|
public function scopeCategory($query, $category)
|
||||||
{
|
{
|
||||||
|
if (is_null($category)) return;
|
||||||
|
if (is_array($category)) {
|
||||||
|
$query->where('category_id', 'in', $category);
|
||||||
|
return;
|
||||||
|
}
|
||||||
$query->where('category_id', '=', $category);
|
$query->where('category_id', '=', $category);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user