3 namespace Oxbow\Http\Controllers;
5 use Illuminate\Http\Request;
7 use Oxbow\Http\Requests;
8 use Oxbow\Http\Controllers\Controller;
9 use Oxbow\Repos\BookRepo;
10 use Oxbow\Repos\ChapterRepo;
11 use Oxbow\Repos\PageRepo;
13 class SearchController extends Controller
17 protected $chapterRepo;
20 * SearchController constructor.
25 public function __construct(PageRepo $pageRepo, BookRepo $bookRepo, ChapterRepo $chapterRepo)
27 $this->pageRepo = $pageRepo;
28 $this->bookRepo = $bookRepo;
29 $this->chapterRepo = $chapterRepo;
30 parent::__construct();
34 * Searches all entities.
35 * @param Request $request
36 * @return \Illuminate\View\View
37 * @internal param string $searchTerm
39 public function searchAll(Request $request)
41 if(!$request->has('term')) {
42 return redirect()->back();
44 $searchTerm = $request->get('term');
45 $pages = $this->pageRepo->getBySearch($searchTerm);
46 $books = $this->bookRepo->getBySearch($searchTerm);
47 $chapters = $this->chapterRepo->getBySearch($searchTerm);
48 return view('search/all', ['pages' => $pages, 'books'=>$books, 'chapters' => $chapters, 'searchTerm' => $searchTerm]);