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

 

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