/** * Display a listing of the resource. * * @return Response */ public function index($category = null, $subCategory = null) { switch ($category) { case '1': $designs = $this->designModel->getDesigns()->where('category', Category::KIEN_TRUC); break; case '2': $designs = $this->designModel->getDesigns()->where('category', Category::NOI_THAT); break; case '3': $designs = $this->designModel->getDesigns()->where('category', Category::THI_CONG); break; } switch ($subCategory) { case '1': $designs = $designs->where('sub_category', SubCategory::BIET_THU_PHO); break; case '2': $designs = $designs->where('sub_category', SubCategory::BIET_THU_VUON); break; case '3': $designs = $designs->where('sub_category', SubCategory::NHA_PHO); break; case '4': $designs = $designs->where('sub_category', SubCategory::KHAC); break; } $designs = $designs->paginate(20); return view('admin.design.designs.index', compact('designs', 'category')); }
/** * 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()); }); }
/** * Display the specified resource. * * @param int $id * @return Response */ public function show(Design $design) { switch ($design->category) { case Category::KIEN_TRUC: $categoryUri = 'kien-truc'; break; case Category::NOI_THAT: $categoryUri = 'noi-that'; break; case Category::THI_CONG: $categoryUri = 'thi-cong'; break; } $others = $this->designModel->getDesigns()->where('category', $design->category)->where('sub_category', $design->sub_category)->where('designs.id', '<>', $design->id)->get(); $preview = Design::where('category', $design->category)->where('sub_category', $design->sub_category)->where('id', '<', $design->id)->orderBy('id', 'desc')->first(); $next = Design::where('category', $design->category)->where('sub_category', $design->sub_category)->where('id', '>', $design->id)->orderBy('id', 'asc')->first(); $contact = User::join('profiles', 'users.id', '=', 'profiles.user_id')->where('user_id', 1)->first(); return view('front.designs.show', compact('design', 'others', 'contact', 'preview', 'next', 'categoryUri')); }