Files
new_nyfh/app/Helpers/function.php
2020-09-17 09:00:08 +08:00

127 lines
2.7 KiB
PHP

<?php
use App\Models\Advert;
use App\Models\Category;
use App\Models\Article;
function getOneCategory($categoryId, $return = '')
{
$category = Category::find($categoryId);
if ($category) {
if ($return) {
return $category->{$return};
}
return $category;
}
return new Category;
}
/**
* Notes: 获取文章分类详情
* @Author: 玄尘
* @Date : 2020/9/10 13:21
* @param $categoryId
* @param string $result
* @return \App\Models\Article
*/
function getOneArticleBYCate($categoryId, $result = '')
{
$info = Article::where('category_id', $categoryId)->latest('sort')->latest()->first();
if ($info) {
if ($result) {
return $info->{$result};
}
return $info;
} else {
return '';
}
return new Article;
}
/**
* Notes: 获取分类下的文章
* @Author: 玄尘
* @Date : 2020/9/10 10:05
* @param $categoryId
* @param $take
* @return \App\Models\Article
*/
function getArticlesBYCate($categoryId, $take = 8, $mark = 'one')
{
if ($mark == 'one') {
$articles = Article::where('category_id', $categoryId)
->where('status', 1)
->latest('sort')
->latest()
->take($take)
->get();
} else {
$cate = Category::find($categoryId);
$ids = $cate->getAllChildrenId();
$articles = Article::whereIn('category_id', $ids)
->where('status', 1)
->latest('sort')
->latest()
->take($take)
->get();
}
return $articles;
}
//获取子分类
function getCateChild($categoryId)
{
return Category::where('status', 1)
->where('parent_id', $categoryId)
->orderBy('order', 'asc')
->get();
}
//获取顶级分类
function getTopCate($categoryId)
{
$parent = Category::find($categoryId);
while ($parent->parent_id != 0) {
$parent = $parent->parent;
}
return $parent;
}
//获取一个广告
function getOneAdvertByCate($categoryId, $result = '')
{
$info = Advert::where('category_id', $categoryId)
->latest('sort')
->latest()
->first();
if ($info) {
if ($result) {
return $info->{$result};
}
return $info;
} else {
return '';
}
return new Advert;
}
function getAdvertsByCate($categoryId, $take = 8)
{
return Advert::where('category_id', $categoryId)
->latest('sort')
->latest()
->take($take)->get();
}