|
|
@@ -3958,51 +3958,53 @@ class WebService implements WebServiceInterface
|
|
|
*/
|
|
|
public function getWebsiteApplyJoin(array $data): array
|
|
|
{
|
|
|
- $web = Website::where('id', $data['website_id'])->first();
|
|
|
+ $web = Website::where('id',$data['website_id'])->first();
|
|
|
if (empty($web)) {
|
|
|
return Result::error("暂无相关网站信息", 0);
|
|
|
}
|
|
|
- $category = WebsiteCategory::where('category_id', $data['category_id'])->first();
|
|
|
+ $category = WebsiteCategory::where('category_id',$data['category_id'])->first();
|
|
|
if (empty($category)) {
|
|
|
return Result::error("暂无相关栏目信息", 0);
|
|
|
}
|
|
|
- $child_cate = WebsiteCategory::where('website_category.pid', $category['category_id'])
|
|
|
+ $child_cate = WebsiteCategory::where('website_category.website_id', $data['website_id'])
|
|
|
+ ->when(isset($data['is_rule']) && $data['is_rule'] == 1, function ($query) use ($data) {
|
|
|
+ $query->where(function ($subQuery) use ($data) {
|
|
|
+ $subQuery->where('website_category.pid', $data['category_id'])
|
|
|
+ ->orWhere('website_category.category_id', $data['category_id']);
|
|
|
+ });
|
|
|
+ })
|
|
|
+ ->when(!isset($data['is_rule']) || $data['is_rule'] != 1, function ($query) use ($data) {
|
|
|
+ $query->where('website_category.pid', $data['category_id']);
|
|
|
+ })
|
|
|
->with(['cate_article' => function ($query) use ($data) {
|
|
|
- $query->where('article.status', 1)
|
|
|
- ->leftJoinSub(function ($query) use ($data) {
|
|
|
- $query->from('article_ignore')
|
|
|
- ->where('website_id', $data['website_id']);
|
|
|
- }, 'article_ignore', function ($join) {
|
|
|
- $join->on('article_ignore.article_id', '=', 'article.id');
|
|
|
- })
|
|
|
- ->where(function ($query) {
|
|
|
- $query->whereNull('article_ignore.article_id')
|
|
|
- ->orWhere(function ($subQuery) {
|
|
|
- $subQuery->whereNotNull('article_ignore.article_id')
|
|
|
- ->where('article_ignore.is_ignore', 0)
|
|
|
- ->where(function ($subSubQuery) {
|
|
|
- $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
|
|
|
- ->orWhereNull('article_ignore.c_show_time');
|
|
|
- });
|
|
|
+ $query->where('article.status',1)
|
|
|
+ ->when($data['category_id'] == 'article.catid', function ($query) use ($data) {
|
|
|
+ $query->where('article.level','like','%8%');
|
|
|
})
|
|
|
- ->orderBy('article.updated_at', 'desc')
|
|
|
- ->select(
|
|
|
- 'article.id',
|
|
|
- 'article.title',
|
|
|
- 'article.imgurl',
|
|
|
- 'article.author',
|
|
|
- 'article.updated_at',
|
|
|
- 'article.introduce',
|
|
|
- 'article.islink',
|
|
|
- 'article.linkurl',
|
|
|
- 'article.copyfrom',
|
|
|
- 'article.cat_arr_id',
|
|
|
- 'article.catid'
|
|
|
- );
|
|
|
- });
|
|
|
- }])
|
|
|
- ->select('website_category.alias', 'website_category.path', 'website_category.category_id')
|
|
|
- ->orderBy('website_category.sort', 'asc')
|
|
|
+ ->leftJoinSub(function ($query) use ($data) {
|
|
|
+ $query->from('article_ignore')
|
|
|
+ ->where('website_id',$data['website_id']);
|
|
|
+ }, 'article_ignore', function ($join) {
|
|
|
+ $join->on('article_ignore.article_id', '=', 'article.id');
|
|
|
+ })
|
|
|
+ ->where(function ($query) {
|
|
|
+ $query->whereNull('article_ignore.article_id')
|
|
|
+ ->orWhere(function ($subQuery) {
|
|
|
+ $subQuery->whereNotNull('article_ignore.article_id')
|
|
|
+ ->where('article_ignore.is_ignore', 0)
|
|
|
+ ->where(function ($subSubQuery) {
|
|
|
+ $subSubQuery->where('article_ignore.c_show_time', '<=', date('Y-m-d H:i:s'))
|
|
|
+ ->orWhereNull('article_ignore.c_show_time');
|
|
|
+ });
|
|
|
+ })
|
|
|
+ ->orderBy('article.updated_at', 'desc')
|
|
|
+ ->select('article.id', 'article.title', 'article.imgurl', 'article.author',
|
|
|
+ 'article.updated_at', 'article.introduce', 'article.islink', 'article.linkurl',
|
|
|
+ 'article.copyfrom', 'article.cat_arr_id', 'article.catid');
|
|
|
+ });
|
|
|
+ }])
|
|
|
+ ->select('website_category.alias','website_category.path','website_category.category_id')
|
|
|
+ ->orderBy('website_category.sort','asc')
|
|
|
->get()->all();
|
|
|
if (empty($child_cate)) {
|
|
|
return Result::error("暂无相关子栏目信息", 0);
|