محمدسجاد دباغ
3 سال پیش توسط محمدسجاد دباغ مطرح شد
7 پاسخ

مشکل در ارسال boolean با redirect route در لاراول

سلام
در قطعه کدی نیاز هست متغیری به صورت true یا false به blade ارسال کنم.

public function phoneSendMassage(Request $request){
        ...
        $user = User::where('mobile', $PhoneNumber)->firstOr(function () {
            return false;
        });
        if ($user) {
            $is_user = true;
        }$is_user = false;
        ...
        return redirect()->route('phoneVerify', ['is_user' => $is_user]);
    }

اما در blade با ارور زیر مواجه میشوم

$is_user is undefined

و در url هم به صورت زیر ارسال شده

http://127.0.0.1:8000/login/phoneVerify?is_user=0

دلیل و راه کار چیه؟


ثبت پرسش جدید
حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
1

این پارامتر رو باید از هلپر request داخل بلید بگیرید متغییر نیست که دارید مستقیم ازش استفاده میکنید


محمد حکمتی
تخصص : مثلا backend
@mohammad.hekmaty 3 سال پیش مطرح شد
0

توی همون صفحه یه خروجی بگیرید ببینید چی مینویسه:

public function phoneSendMassage(Request $request){
        ...
        $user = User::where('mobile', $PhoneNumber)->firstOr(function () {
            return false;
        });
        if ($user) {
            $is_user = true;
        }$is_user = false;

        return $is_user;
    }

هرچند به نظر میاد مشکل از شرطتون باشه چون مقدار is_true رو برابر 0 یا false مینویسه تو روت.


محمدسجاد دباغ
تخصص : برنامه نویس لاراول
@mdabbagh 3 سال پیش مطرح شد
0

@mohammad.hekmaty

با دستور dd($is_user) به درستی false بر میگرده.


محمد حکمتی
تخصص : مثلا backend
@mohammad.hekmaty 3 سال پیش مطرح شد
0

منظورتون چیه به درستی؟ یعنی یوزری ندارید که این شرط اجرا شه؟
@msdabbagh


محمدسجاد دباغ
تخصص : برنامه نویس لاراول
@mdabbagh 3 سال پیش مطرح شد
0

@mohammad.hekmaty
با توجه به اینکه من میخوام در یک شرط در blade ازش استفاده کنم تفاوتی در 0 یا 1 یا true یا false نیست.
اما ارور $is_user is undefined میده یعنی همون 0 هم در if شناسایی نمیشه.


محمدسجاد دباغ
تخصص : برنامه نویس لاراول
@mdabbagh 3 سال پیش مطرح شد
0

@mohammad.hekmaty
میخوام وقتی یک نفر با شماره تلفن اقدام به لاگین کرد اگر قبلا در دیتابیس نبوده ، در blade یک بخشی براش نمایش بدم.


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
1

این پارامتر رو باید از هلپر request داخل بلید بگیرید متغییر نیست که دارید مستقیم ازش استفاده میکنید


محمدسجاد دباغ
تخصص : برنامه نویس لاراول
@mdabbagh 3 سال پیش آپدیت شد
0

@hosseinshirinegad98
متشکرم به صورت زیر تونستم دریافت کنم

{{ request()->get('is_user') }}

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام