get(); } function getConfig($name, $return = '') { $info = ConfigModel::where('name', $name)->first(); if ($info) { if ($return) { return $info->{$return}; } return $info; } return new ConfigModel; } 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 int $take * @param string $mark 显示多少当前分类还是当前分类+子分类 * @param bool $hasCover * @param string $order * @return \App\Models\Article */ function getArticlesBYCate($categoryId, $take = 8, $mark = 'one', $hasCover = false, $order = 'desc') { if ($mark == 'one') { $articles = Article::where('category_id', $categoryId) ->where('status', 1) ->orderBy('sort', $order) ->when($hasCover, function ($q) { $q->whereNotNull('cover'); }) ->take($take) ->get(); } else { $cate = Category::find($categoryId); $ids = $cate->getAllChildrenId(); $articles = Article::whereIn('category_id', $ids) ->where('status', 1) ->when($hasCover, function ($q) { $q->whereNotNull('cover'); }) ->orderBy('sort', $order) ->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(); }