/** * Define your route model bindings, pattern filters, etc. * * @param \Illuminate\Routing\Router $router * @return void */ public function boot(Router $router) { $router->bind('article', function ($value) { return $this->getArticle()->where('slug', $value)->firstOrFail(); }); $router->bind('cong-ty', function ($value) { return \App\Company::where('slug', $value)->firstOrFail(); }); $router->bind('thiet-ke-thi-cong', function ($value) { return $this->designModel->getDesigns()->where('designs.slug', $value)->firstOrFail(); }); $router->bind('house', function ($value) { return $this->houseModel->getHouses()->where('houses.slug', $value)->firstOrFail(); }); $router->bind('company', function ($value) { return \App\Company::where('slug', $value)->firstOrFail(); }); $router->bind('project', function ($value) { return $this->projectModel->getProjects()->where('projects.slug', $value)->firstOrFail(); }); $router->model('owner', 'App\\House'); $router->model('agency', 'App\\House'); $router->model('message', 'App\\Message'); parent::boot($router); }
/** * Hiển thị 10 bài viết mới nhất ở sidebar (layout) * * @return void */ public function composeSidebar() { view()->composer('_sidebar', function ($view) { // recommend $view->with('houseSaleRecommend', $this->houseModel->getHouses()->saleType(SaleTypeOptions::BAN)->first()); $view->with('houseRentRecommend', $this->houseModel->getHouses()->saleType(SaleTypeOptions::CHO_THUE)->first()); $view->with('houseProjectRecommend', $this->projectModel->getProjects()->first()); $view->with('designRecommend', $this->designModel->getDesigns()->first()); }); }
public function search(Request $request) { $label = 'Kết quả tìm kiếm'; $houses = $this->houseModel->getHouses()->where('title', 'like', "%{$request->get('search')}%")->simplePaginate(12); return view('front.houses.index', compact('houses', 'label')); }
/** * Display the specified resource. * * @param House $house * @return \Illuminate\View\View */ public function show(House $house) { $houseModel = new House(); $housesRelation = $houseModel->getHouses()->saleType($house->sale_type)->limit(3)->get(); $contactInfo = User::join('profiles', 'users.id', '=', 'profiles.user_id')->where('user_id', $house->user_id)->first(); $preview = $houseModel->saleType($house->sale_type)->where('houses.id', '<', $house->id)->first(); $next = $houseModel->saleType($house->sale_type)->where('houses.id', '>', $house->id)->first(); return view('front.houses.show', compact('house', 'housesRelation', 'contactInfo', 'preview', 'next')); }