• 0

كيف أتصل بوظيفة وأحوّل المتصفح إلى route على Laravel 5.2؟

على متحكم بداخل إطار العمل Laravel5.2، لدي الكود التالي:

public function UpdateCountry(\App\Http\Requests\CountryRequest $request) {
    $this->SaveChanges($request);
}

private function SaveChanges($request) {
    if($request['CountryID'] == 0) {
        $Country = new \App\Models\CountryModel();
    }
    else {
        $Country = \App\Models\CountryModel
                  ::where('CountryID', $request['CountryID'])->first();
    }

    $Country->Country = $request['Country'];
    $Country->CountryCode = $request['CountryCode'];
    $Country->save();
    return redirect()->route('AllCountries');
}

public function AllCountries() {
    $Countries = \App\Models\CountryModel::all();
    return view('Country.List', array('Countries' => $Countries));
}

وأريد عمل redirect للمتصفح، وعرض AllCountries عن طريق دالة return:

return redirect()->route('AllCountries');

لكن لا تظهر لي لائحة الدول AllContries، لا أدري لمَ؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

Laravel سيعتمد على المسار الخاص بالدالة UpdateCountry، وبالمقابل فإنك لم تخصص أي مصار لهذه الدالة.

في الكود الخاص بك، يتم الاتصال بـ SaveChanges والتي تعيد Redirect، لكنها لا تعيد أي قيمة من خلال UpdateCountry.

لذا وجب الرجوع بقيم عند استعمال Rdirect عند UpdateCountry.

سيكون الحل بتغيير كود  UpdateCountry إلى الآتي:

public function UpdateCountry(\App\Http\Requests\CountryRequest $request) {
    return $this->SaveChanges($request);
}

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن