/** * Run the database seeds. * * @return void */ public function run() { $projectCategories = ['Dự án nổi bật', 'Dự án mới nhất', 'Căn hộ sang nhượng', "Căn hộ cho thuê", 'Vị trí dự án', 'Slideshow chính', 'Trang chủ', 'Slideshow footer']; $projectCategoryPositionProjects = null; foreach ($projectCategories as $key => $value) { $projectCategory = ProjectCategory::create(['key' => Common::createKeyURL($value), 'parent_id' => is_null($projectCategoryPositionProjects) ? 0 : $projectCategoryPositionProjects->id, 'name' => $value, 'summary' => $value, 'meta_description' => $value, 'meta_keywords' => $value, 'priority' => 0, 'active' => 1, 'created_by' => 'vankhoektcn', 'updated_by' => 'vankhoektcn']); if ($value == 'Vị trí dự án') { $projectCategoryPositionProjects = $projectCategory; } } }
public function getProjectsByCategoryKey($categoryKey = '', $limit = 0) { $projectCategory = ProjectCategory::where('key', $categoryKey)->first(); if (isset($projectCategory) && !is_null($projectCategory)) { if ($limit == 0) { return $projectCategory->projects()->where('active', 1)->orderBy('priority')->orderBy('created_at', 'desc')->get(); } else { return $projectCategory->projects()->where('active', 1)->orderBy('priority')->orderBy('created_at', 'desc')->take($limit)->get(); } } return []; }
/** * PROJECT_TYPE vs PROVINCE vs DISTRICT vs WARD */ public function project_type_province_district_ward($project_type_key, $province_key, $district_key, $ward_key, Request $request) { $ward = Ward::findByKey($ward_key)->first(); if (is_null($ward)) { $ward = Ward::where('is_publish', 1)->orderBy('priority')->orderBy('created_at', 'desc')->first(); } $district = $ward->district; $province = $district->province; $limit = Config::findByKey('rows_per_page_project')->first()->value; $project_type = Project_type::findByKey($project_type_key)->first(); if (is_null($project_type)) { $project_type = Project_type::where('active', 1)->orderBy('priority')->orderBy('created_at', 'desc')->first(); } $projects = Project::where('project_type_id', $project_type->id)->where('district_id', $district->id)->where('active', 1); $projects = $projects->orderBy('priority')->orderBy('created_at', 'desc')->paginate($limit); $searchDescription = $project_type->name . ' ' . $province->name . ' ' . $district->name . ' ' . $ward->name; $link = route('project_type_province_district_ward', ['project_type_key' => $project_type->key, 'province_key' => $province->key, 'district_key' => $district->key, 'ward_key' => $ward->key]); $breadcrumb = '<ul class="breadcrumb"> <li class="active"><a href="' . route('homepage') . '">Trang chủ</a></li> <li class="active"><a href="' . route('projects') . '">Dự án</a></li> <li class="active"><a href="' . route('project_type', ['project_type_key' => $project_type->key]) . '">' . $project_type->name . '</a></li> <li class="active"><a href="' . route('project_type_province', ['project_type_key' => $project_type->key, 'province_key' => $province->key]) . '">' . $province->name . '</a></li> <li class="active"><a href="' . route('project_type_province_district', ['project_type_key' => $project_type->key, 'province_key' => $province->key, 'district_key' => $district->key]) . '">' . $district->name . '</a></li> <li class=""><a href="' . $link . '">' . $ward->name . '</a></li> </ul>'; $heading = $project_type->name . ' ' . $province->name . ' ' . $district->name . ' ' . $ward->name; $projectCategory = new ProjectCategory(); $projectsSpecial = $projectCategory->getProjectsByCategoryKey('du-an-noi-bat', 5); $this->setMetadata($searchDescription); return view('frontend.sites1.project_search', ['projects' => $projects, 'project_type' => $project_type, 'district' => $district, 'projectsSpecial' => $projectsSpecial, 'search_type' => 'project_type_province_district', 'link' => $link, 'searchDescription' => $searchDescription, 'breadcrumb' => $breadcrumb, 'heading' => $heading]); }
/** * Store changes to an existing project in storage. * * @param ProjectRequest $request * @param Project $project * @return \Illuminate\Http\RedirectResponse */ public function manageProjectUpdate(ProjectRequest $request, Project $project) { if (is_numeric($request->project_category_id)) { $category = ProjectCategory::find((int) $request->project_category_id); } else { $category = ProjectCategory::firstorCreate(['name' => $request->project_category_id]); } $project->name = $request->name; $project->project_category_id = $category->id; $project->save(); return redirect()->action('ProjectsController@manageProjectShow', [$project]); }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { DB::transaction(function () use($id) { $user = Auth::user(); $projectCategory = ProjectCategory::findOrFail($id); $projectCategory->updated_by = $user->name; $projectCategory->deleted_by = $user->name; $projectCategory->key = $projectCategory->key . '-' . microtime(true); $projectCategory->save(); // soft delete $projectCategory->delete(); }); }