🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۵ جواد فرامرزی
نمایش undefine index موقع بازگشت از درگاه
جامعه لاراول ایجاد شده در ۱۴ آبان ۱۳۹۸

سلام 

وقتی درخواست رو به درگاه ارسال می‌کنم و بازگشت رو میزنم بجای نمایش خطای transaction Failed خطای undefine index نمایش می‌ده که مربوطه به این قسمت از کد هست.

    private function gatewayFactory()
    {
        $gateway = [
            'saman' => Saman::class,
            'pasargad' => Pasargad::class,
        ][$this->request->gateway];
        return resolve($gateway);
    }

 

روی خط 6 خطا رو نمایش میده.

با تشکر

سلام

این قسمت از کد رو کسی میتونه برا من تشریح کنه؟

$gateway = [
            'saman' => Saman::class,
            'pasargad' => Pasargad::class,
        ][$this->request->gateway];

ممنون

جواد فرامرزی ۱۴ آبان ۱۳۹۸، ۱۱:۲۲

سلام

وقتی $this->request->gateway دی دی می‌کنم خروجی میاد "saman" ولی وقتی برنامه رو اجرا می‌کنم خطا میده.

حالا وقتی بجای $this->request->gateway بصورت هارد کد مینویسم 'saman' برنامه درست اجرا میشه؟؟؟

برا چی اینجوریه آخه؟؟

جواد فرامرزی ۱۴ آبان ۱۳۹۸، ۱۲:۵۱

سلام ... 

اون تیکه کد معادل این هستش ... 

$gateway = [
      'saman' => Saman::class,
      'pasargad' => Pasargad::class
];
return $gateway[$this->request->gateway];

 

مهرداد سامی ۲۰ آبان ۱۳۹۸، ۰۶:۴۲

سلام منم دقیقا با ارور  Undefined index: Saman رو به رو شدم 

        $gateway = [
            'saman' => Saman::class,
            'pasargad' => Pasargad::class,
            'mellat' => Mellat::class
        ][$this->request->gateway];
        return resolve($gateway);

ارور به خط ۷ اشاره میکنه

جواد هژبری ۱۳ اسفند ۱۳۹۹، ۰۸:۱۷

سلام ,‘,, ’

این خطا به این خاطر هستش که $this->request->gateway داخلش مقدار درستی وجود نداره ... و با توجه به اینکه میگید dd گرفتید و داخلش saman وجود داره احتمال خیلی زیاد یک قسمتی از برنامه تون یه تیکه کد رو اشتباه نوشتید .... برنامه رو به صورت کامل Trace کنید تا متوجه بشید که مشکل از کدوم قسمت هستش ..

 

مهرداد سامی ۱۳ اسفند ۱۳۹۹، ۰۸:۴۷