/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $countries = Country::orderBy('name', 'asc')->get(); $cities = array(); $languages = array(); if (count($countries) > 0) { $cities = $countries[0]->cities()->orderBy('name', 'asc')->get(); if (count($cities) > 0) { $languages = $cities[0]->languages()->orderBy('name', 'asc')->get(); } } $data = ['active_menu' => 'index', 'countries' => $countries, 'cities' => $cities, 'languages' => $languages]; return view('index', $data); }
public function destroy(Request $request) { //Validation data $customMessages = ['exists' => 'Страна не найдена.']; $customAttributes = ['id' => 'Страна']; $this->validate($request, ['id' => 'required|exists:countries,id'], $customMessages, $customAttributes); //Remove from DB $country_rec = Country::find($request->input('id')); $cities_rec = $country_rec->cities()->get(); foreach ($cities_rec as $city_rec) { $city_rec->languages()->detach(); $city_rec->delete(); } $country_rec->delete(); //Redirect to countries page return redirect()->route('countries'); }
public function store(Request $request) { //Validation data $customMessages = ['exists' => 'Страна не найдена.']; $customAttributes = ['name' => 'Город', 'country_id' => 'Страна']; $this->validate($request, ['country_id' => 'required|exists:countries,id', 'name' => 'required|min:2|max:50|unique:cities,name'], $customMessages, $customAttributes); //Insert data to DB $city_rec = new City(); $city_rec->name = $request->input('name'); $country = Country::find($request->input('country_id')); $country->cities()->save($city_rec); //Redirect to cities page return redirect()->route('cities'); }