🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۵ سارنگ بیگی
نمایش 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 کنید تا متوجه بشید که مشکل از کدوم قسمت هستش ..

 

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