رفتن به مطلب
انجمن پشتیبانی لاراول ایران

Recommended Posts

سلام خدمت اساتید گرامی

من در بخش ایجاد مطلب جدید به مشکل برخوردم زمانی که ذخیره را میزنم خطای Undefined variable: msg میدهد و به store نمیرود و وقتی کع لاین خطای نام مستعار را پاک میکنم فرم بعد از ذخیره در همان صفحه ی create میماند.

کد خطا در  app\Http\Controllers\back\ArticleController.php است

لطفا راهنمایی کنید ممنون

Share this post


Link to post
Share on other sites

توی articlecontroller/back/بخش store

اینم کد هامه

    public function store(Request $request)
    {
            $validatedData = $request->validate([
    
            'name' => 'required',

 

            'slug' => 'required|Unique:categories',
           
        ]);      
          $article = new Article();
            try
            {
                $article = $article->create($request->all());
                $article->categories()->attach($request->categories);
            } 
            catch(Exception $exception)
            {
                switch($exception->getcode())
                {
                    case 23000:
                        $msg ="نام مستعار  وارد شده تکراری میباشد";
                    break;
                }
                return redirect(route('admin.articles.create'))->with('warning'$msg);
            }
                $msg ="اطلاعات وارد شده با موفقیت ذخیره شد";
                return redirect(route('admin.articles'))->with('success'$msg);
         
    }

Share this post


Link to post
Share on other sites

مشکل اینجاست که وقتی توی دیتابیس image رو اضافه میکنم msg$ رو خطا میده وقتی image رو پاک میکنم درست میشه و ذخیره میکنه و اینکه standalonebutton هم برای من کار نمیکنه و من کلا از standalone استفاده نکردم فقط از unisharp استفاده میکنم .sluggable هم کار نمیکنه هر کاری کردم درست نشد.

Share this post


Link to post
Share on other sites

شما $msg رو داخل switch قرار دادید و چون مقدار پیشفرض نداره وقتی داخل switch مقداری نمیگیره شناسایی نمیشه و برای همین خطا میده

و در ادمه هم که return رو انجام دادید اینکار رو باید زمانی انجام بدید که مثلا $msg مقداری گرفته باشه ولی الان همیشه return انجام میشه

Share this post


Link to post
Share on other sites

ممنون از پاسختون اقا صابر

من طبق فیلم های آموزش استاد طالبی پیش میرم ایشون هم دقیقا همین کد هارو قرار دادن من هم طبق فیلم ها کد هامو نوشتم اگه امکانش هست بیشتر توضیح بدید که چه مقداری رو باید برای msg$ قرار بدم تا شناسایی بشه

ممنون میشم ازتون

Share this post


Link to post
Share on other sites

قسمت مربوط به دستور switch رو به شکل زیر تغییر بدید

 switch ($exception->getCode()) {
                case 23000:
                    $msg = "نام مستعار وارد شده تکراری است";
                    break;
				default:
					$msg = $exception->getMessage();

			}

 

Share this post


Link to post
Share on other sites

وارد این گفتگو شوید

میتوانید پیام خود را ارسال کنید و بعد ثبت نام نمایید. در صورتی که حساب کاربری دارید, هم اکنون وارد شوید و در این گفتگو شرکت کنید.

مهمان
پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  Only 75 emoji are allowed.

×   لینک شما به صورت اتوماتیک جایگذاری شد.   نمایش به عنوان یک لینک به جای

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • جدید...