public function search(Request $request) { $search = $request->search; $str = str_replace(' ', '_', $search); $users = []; if (!is_numeric($str)) { $users = User::where('level_id', '>', 2)->where('banned', 0)->where('slug', 'LIKE', '%' . $str . '%')->with('articles')->get(); } if (Auth::check() && Auth::user()->level_id > 3) { $news = News::where('title', 'LIKE', '%' . $str . '%')->get(); } else { $news = News::published()->where('title', 'LIKE', '%' . $str . '%')->get(); } return view('news.search', compact('users', 'news', 'search')); }
/** * Define your route model bindings, pattern filters, etc. * * @param \Illuminate\Routing\Router $router * @return void */ public function boot(Router $router) { parent::boot($router); $router->bind('articles', function ($slug) { return \Route::currentRouteName() == "articles.edit" ? \App\Article::findOrFail($slug) : \App\Article::published()->findOrFail($slug); }); $router->bind('news', function ($id) { return \Route::currentRouteName() == "news.edit" ? \App\News::findOrFail($id) : \App\News::published()->findOrFail($id); }); $router->bind('tags', function ($name) { return \App\Tag::where('name', $name)->firstOrFail(); }); $router->bind('users', function ($id) { return \App\User::where('id', $id)->firstOrFail(); }); $router->bind('messages', function ($id) { return \App\Message::where('id', $id)->firstOrFail(); }); $router->bind('registrants', function ($id) { return \App\Registrant::where('id', $id)->firstOrFail(); }); $router->model('image', Image::class); }