fix:前台首页模块-新闻列表获取方法修改
This commit is contained in:
parent
39552d829c
commit
c7035d14ef
@ -76,7 +76,7 @@ class Home extends BaseController
|
||||
*/
|
||||
public function getHomeInfoArticleList()
|
||||
{
|
||||
$query = ModelinfoArticle::where('info_article_status', 2)
|
||||
$info_article_data = ModelinfoArticle::where('info_article_status', 2)
|
||||
->field([
|
||||
'a.info_article_id',
|
||||
'a.info_article_type_guid',
|
||||
@ -85,14 +85,15 @@ class Home extends BaseController
|
||||
'a.info_article_title',
|
||||
'a.info_article_create_time',
|
||||
'a.info_article_cover',
|
||||
'a.info_article_order',
|
||||
'b.info_article_type_sort',
|
||||
])
|
||||
->alias('a')
|
||||
->leftjoin('info_article_type b', 'a.info_article_type_guid = b.info_article_type_guid')
|
||||
->hidden(['info_article_type_guid'])
|
||||
->order('info_article_order', 'asc')
|
||||
->select();
|
||||
->select()->toArray();
|
||||
|
||||
return $query;
|
||||
return ModelinfoArticle::buildApiHomeInfoArticleList($info_article_data);
|
||||
}
|
||||
|
||||
|
||||
@ -136,8 +137,7 @@ class Home extends BaseController
|
||||
*/
|
||||
public function getJointAchievementList()
|
||||
{
|
||||
$query = ModelJointAchievement::
|
||||
field([
|
||||
$query = ModelJointAchievement::field([
|
||||
'joint_achievement_id',
|
||||
'joint_achievement_title',
|
||||
'joint_achievement_cover',
|
||||
|
@ -188,8 +188,8 @@ class InfoArticle extends BaseModel
|
||||
$info_article_order = $value['info_article_order'];
|
||||
$info_article_status = $value['info_article_status'];
|
||||
|
||||
$info_article_type = ModelInfoArticleType::where('info_article_type_name',$info_article_type_name)->find();
|
||||
if(!$info_article_type) throwErrorMsg($info_article_type_name . "不存在,请重新确认!");
|
||||
$info_article_type = ModelInfoArticleType::where('info_article_type_name', $info_article_type_name)->find();
|
||||
if (!$info_article_type) throwErrorMsg($info_article_type_name . "不存在,请重新确认!");
|
||||
$info_article_type_guid = $info_article_type->info_article_type_guid;
|
||||
|
||||
$show_status = ModelDictionary::getDictionaryData('show_status');
|
||||
@ -203,4 +203,53 @@ class InfoArticle extends BaseModel
|
||||
'info_article_status' => $info_article_status,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建前台首页新闻接口数据
|
||||
*/
|
||||
public static function buildApiHomeInfoArticleList(array $info_article_data): array
|
||||
{
|
||||
$info_article_type_arr = [];
|
||||
$info_article_arr = [];
|
||||
$data = [];
|
||||
|
||||
//【步骤一】新闻标题数组构建
|
||||
foreach ($info_article_data as $info_article) {
|
||||
$info_article_type_name = $info_article['info_article_type_name'];
|
||||
$info_article_type_sort = $info_article['info_article_type_sort'];
|
||||
if (!in_array($info_article_type_name, $info_article_type_arr)) {
|
||||
$info_article_type_arr[$info_article_type_sort] = $info_article_type_name;
|
||||
}
|
||||
};
|
||||
//新闻标题数组按照下标升序处理
|
||||
ksort($info_article_type_arr);
|
||||
//排序后,只保留值
|
||||
$info_article_type_arr = array_values($info_article_type_arr);
|
||||
|
||||
//【步骤二】新闻数组构建
|
||||
foreach ($info_article_data as $info_article) {
|
||||
$info_article_type_name = $info_article['info_article_type_name'];
|
||||
$info_article_order = $info_article['info_article_order'];
|
||||
$info_article_arr[$info_article_type_name][$info_article_order] = $info_article;
|
||||
};
|
||||
//新闻标题数组按照下标升序处理
|
||||
foreach ($info_article_arr as &$info_article) {
|
||||
ksort($info_article);
|
||||
//排序后,只保留值
|
||||
$info_article = array_values($info_article);
|
||||
};
|
||||
|
||||
//【步骤二】最终数据合并
|
||||
//类型名称数据构建
|
||||
foreach ($info_article_type_arr as $info_article_type_name) {
|
||||
$data[$info_article_type_name] = [];
|
||||
};
|
||||
//文章数据匹配添加
|
||||
foreach ($info_article_data as $info_article) {
|
||||
$info_article_type_name = $info_article['info_article_type_name'];
|
||||
$data[$info_article_type_name][] = $info_article;
|
||||
};
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user