]> git.localhorst.tv Git - alttp.git/blob - app/Http/Controllers/TechniqueController.php
add tech index
[alttp.git] / app / Http / Controllers / TechniqueController.php
1 <?php
2
3 namespace App\Http\Controllers;
4
5 use App\Models\Technique;
6 use Illuminate\Database\Eloquent\Builder;
7 use Illuminate\Http\Request;
8
9 class TechniqueController extends Controller
10 {
11
12         public function search(Request $request) {
13                 $validatedData = $request->validate([
14                         'phrase' => 'string|nullable',
15                 ]);
16
17                 $techs = Technique::where('index', '=', 1);
18
19                 if (!empty($validatedData['phrase'])) {
20                         $search = $validatedData['phrase'];
21                         $techs = $techs->where(function (Builder $query) use ($search) {
22                                 $query->where('title', 'LIKE', '%'.$search.'%')
23                                 ->orWhere('short', 'LIKE', '%'.$search.'%');
24                         });
25                 }
26
27                 return $techs->get()->toJson();
28         }
29
30         public function single(Request $request, Technique $tech) {
31                 $this->authorize('view', $tech);
32                 $tech->load('chapters');
33                 return $tech->toJson();
34         }
35
36 }