محمدرضا عطوان
6 سال پیش توسط محمدرضا عطوان مطرح شد
6 پاسخ

کار نکردن model در controller

سلام
یک مدل ساختم که به یک کنترلر وصله وقتی برای ویرایش، آپدیت و حذف فراخوانیش میکنم هیچ اطلاعاتی رو بر نمیگردونه و حذفش هم کار نمی کنه.
چک کردم میبینم با اینکه روتر کار می کنه و به صفحه ی ویرایش می ره اما نمیتونه طبق متد های زیر اطلاعات رو دریافت کنه و نال میاد براش!
تا حالا به همچین مشکلی برخوردید؟

public function edit(ProductCategory $productCategory)
    {
        return view('Admin.products-categories.edit' , compact('productCategory'));
    }

ثبت پرسش جدید
محمدرضا عطوان
تخصص : Full-Stack Developer &...
@mratwan 6 سال پیش آپدیت شد
1

دوست عزیز @drcode.ir
ممنونم از شما به خاطر پاسختون
من بعد از پاسخ شما چندین بار موردی رو که فرمودید بررسی کردم اما در هیچ کدوم از حالت ها به جواب نرسیدم.
نکته ای که شما فرمودید خیلی مفید بود ولی من در آخر متوجه شدم که مشکل اصلی به خاطر موضوع دیگه ای هم هست.
در واقع لاراول اگر هر کلمه ای برای route قرار میدادم که جمع بود برای تابع edit و update نتیجه نمی داد.
برای مثال من categories و خیلی کلمات دیگه رو هم تست کردم اما جواب نداد اما وقتی مفرد کلمه رو قرار دادم مثلا category خیلی سریع جواب رو برگردوند.


developer
تخصص : برنامه نویس
@developer 6 سال پیش مطرح شد
0

با آیدی فراخوانی میکنید؟ یا اسلاگ؟ چک کنید اگه با اسلاگه توی مدل بذاریدش

تجربه نشون داده اینجور مواقع یک سوتی خیلی ساده میدیم یکبار از اول چک کنید ببنیند همه جا اوکی باشه


محمدرضا عطوان
تخصص : Full-Stack Developer &...
@mratwan 6 سال پیش مطرح شد
0

با id فراخوانی میشه
جالبه که برای خود محصولات مشکلی نداره ولی برای دسته بندی هاشون اینطور شده!


محمد صادقیان
تخصص : برنامه نویس وب - فریم ورک Lara...
@drcode.ir 6 سال پیش مطرح شد
0

@mratwan
Route که داره اشاره می کنه به این function رو قرار بدید اینجا.


محمدرضا عطوان
تخصص : Full-Stack Developer &...
@mratwan 6 سال پیش مطرح شد
0

@drcode.ir

$this->resource('products-cats', 'ProductCategoryController');

محمد صادقیان
تخصص : برنامه نویس وب - فریم ورک Lara...
@drcode.ir 6 سال پیش مطرح شد
0

@mratwan عزیز،
شما توی Controller خودتون دارید از متغیر $productCategory دارید برای دریافت این رکورد استفاده می کنید در حالی که در Route شما این متغیر با اسم products-cats داره ارسال میشه.
شما باید اسم متغیرتون رو توی Controller به شکل زیر تعریف کنید:

public function edit(ProductCategory $productsCats)
{
  return $productsCats;
}

محمدرضا عطوان
تخصص : Full-Stack Developer &...
@mratwan 6 سال پیش آپدیت شد
1

دوست عزیز @drcode.ir
ممنونم از شما به خاطر پاسختون
من بعد از پاسخ شما چندین بار موردی رو که فرمودید بررسی کردم اما در هیچ کدوم از حالت ها به جواب نرسیدم.
نکته ای که شما فرمودید خیلی مفید بود ولی من در آخر متوجه شدم که مشکل اصلی به خاطر موضوع دیگه ای هم هست.
در واقع لاراول اگر هر کلمه ای برای route قرار میدادم که جمع بود برای تابع edit و update نتیجه نمی داد.
برای مثال من categories و خیلی کلمات دیگه رو هم تست کردم اما جواب نداد اما وقتی مفرد کلمه رو قرار دادم مثلا category خیلی سریع جواب رو برگردوند.


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

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