|
|
@@ -30,11 +30,12 @@ class NewsController extends Controller
|
|
30
|
30
|
$month = $request->input("month", -1);
|
|
31
|
31
|
$locate = $locate == "tw" ? "zh_TW" : $locate;
|
|
32
|
32
|
$result = [];
|
|
33
|
|
-
|
|
|
33
|
+
|
|
|
34
|
+ $dateFilter = Carbon::now();
|
|
34
|
35
|
//文章列表
|
|
35
|
36
|
$news = News::where("visible", 1);
|
|
36
|
37
|
if($month > 0 || $year > 0){
|
|
37
|
|
- $dateFilter = Carbon::now();
|
|
|
38
|
+
|
|
38
|
39
|
if($year > 0){
|
|
39
|
40
|
$dateFilter->setYear(intval($year));
|
|
40
|
41
|
if($month > 0){
|
|
|
@@ -43,8 +44,18 @@ class NewsController extends Controller
|
|
43
|
44
|
}else{
|
|
44
|
45
|
$news = $news->whereBetween("post_date", [$dateFilter->copy()->startOfYear(), $dateFilter->copy()->endOfYear()]);
|
|
45
|
46
|
}
|
|
|
47
|
+
|
|
46
|
48
|
}
|
|
47
|
49
|
}
|
|
|
50
|
+
|
|
|
51
|
+ $news = $news->where(fn($q) =>
|
|
|
52
|
+ $q->whereNull('start_date')
|
|
|
53
|
+ ->orWhere('start_date', '<=', $dateFilter)
|
|
|
54
|
+ )->where(fn($q) =>
|
|
|
55
|
+ $q->whereNull('end_date')
|
|
|
56
|
+ ->orWhere('end_date', '>=', $dateFilter)
|
|
|
57
|
+ );
|
|
|
58
|
+
|
|
48
|
59
|
$news = $news->orderByDesc("order")->orderByDesc("post_date");
|
|
49
|
60
|
$result["pagination"] = [
|
|
50
|
61
|
"page" => $page,
|