diff --git a/app/Http/Controllers/DanmakuQueryController.php b/app/Http/Controllers/DanmakuQueryController.php index aa461e1..c31164b 100644 --- a/app/Http/Controllers/DanmakuQueryController.php +++ b/app/Http/Controllers/DanmakuQueryController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use App\Models\VideoDanmakus; use App\Models\Videos; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Http\Request; use Illuminate\Routing\Controller as BaseController; @@ -29,7 +30,7 @@ class DanmakuQueryController extends BaseController $keyword_split = explode(" ", $keyword); foreach ($keyword_split as $_keyword) { if (mb_strlen(trim($_keyword)) > 0) { - $query->where(function ($_query) use ($_keyword) { + $query->where(function (Builder $_query) use ($_keyword) { $_query->where("content", "like", "%{$_keyword}%", "or")->where("from", "like", "%${_keyword}%", "or"); }); } diff --git a/app/Http/Controllers/ProgramQueryController.php b/app/Http/Controllers/ProgramQueryController.php index 0adf5a4..b1a2498 100644 --- a/app/Http/Controllers/ProgramQueryController.php +++ b/app/Http/Controllers/ProgramQueryController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use App\Models\Programs; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Http\Request; use Illuminate\Routing\Controller as BaseController; @@ -15,15 +16,25 @@ class ProgramQueryController extends BaseController $keyword_split = explode(" ", $keyword); foreach ($keyword_split as $_keyword) { if (mb_strlen(trim($_keyword)) > 0) { - $query->where(function ($_query) use ($_keyword) { + $query->where(function (Builder $_query) use ($_keyword) { $_query - ->where("name", "like", "%{$_keyword}%", "or") - ->where("difficulty", "like", "%{$_keyword}%", "or") - ->where("desc", "like", "%${_keyword}%", "or"); + ->where("name", "like", "%{$_keyword}%") + ->orWhere("difficulty", "like", "%{$_keyword}%") + ->orWhere("desc", "like", "%{$_keyword}%") + ->orWhereHas("appends", function (Builder $__query) use ($_keyword) { + $__query->where("from", "like", "%{$_keyword}%"); + $__query->orWhere(function (Builder $sub_query) use ($_keyword) { + $sub_query + ->where("is_original", "=", 0) + ->where("name", "like", "%{$_keyword}%"); + }); + }) + ; }); } } } + $query->dump(); $programs = $query->paginate(10)->withQueryString(); return view("program.index", [ "keyword" => $keyword, diff --git a/app/Http/Controllers/ProgramVideoConstructController.php b/app/Http/Controllers/ProgramVideoConstructController.php index 68ffa83..4b2cf35 100644 --- a/app/Http/Controllers/ProgramVideoConstructController.php +++ b/app/Http/Controllers/ProgramVideoConstructController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use App\Models\Programs; use App\Models\ProgramVideos; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Http\Request; use Illuminate\Routing\Controller as BaseController; use Illuminate\Support\Carbon; @@ -129,7 +130,7 @@ class ProgramVideoConstructController extends BaseController $program_videos = ProgramVideos::query() ->where("video_bvid", "=", $program_video->video_bvid) ->where("id", "!=", $program_video->id) - ->where(function ($query) use ($program_video) { + ->where(function (Builder $query) use ($program_video) { $query->where("created_at", ">", $program_video->created_at)->orWhere("created_at", "=", null); }) ->get(); diff --git a/resources/views/program/index.blade.php b/resources/views/program/index.blade.php index cd6382f..f0e17ef 100644 --- a/resources/views/program/index.blade.php +++ b/resources/views/program/index.blade.php @@ -9,7 +9,7 @@ @include("common.header")
数据待补充完整,需要查较为久远的节目,请先点击上方节目单查询
- +