
به نام خدا و سلام. برای ذخیره سازی داده ها در جدول های دیتابیس از model ها می شود که وظیفه برقراری ارتباط با دیتابیس و مدیریت تراکنش ها و کوئری ها را بر عهده دارند. در لاراول مدل ها توسط کلاس های خاصی تعریف شده که متد ها و ویژگی های خاصی دارند که در این جلسه بررسی می شوند.
:: توجه
این مطلب یک جلسه از آموزش لاراول مبتدی تا پیشرفته می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.
سلام من یه مشکل دارم تو این قسمت. نقش کاربری رو تغییر میدم، همه چیز اوکیه و تا فایل UserController.php که چک کردم مقدار role تغییر میکنه اما دستور create که اجرا میشه، مقدار role از قسمت attributes حذف میشه و به قسمت guarded میره و توی دیتابیس مقدار پیش فرض 1 (کاربر عادی) ذخیره میشه.
اما وقتی توی کلاس User.php قسمت guarded رو خالی میذارم، مقدار role طبق فرم ارسال شده ذخیره میشه.
استاد علی محمدی عزیز چطور میشه این مشکل رو هندل کرد؟ و اساسا از کجا باید کنترل بشه؟
سلام وقت بخیر ، تو این قسمت موقع ذخیره داخل دیتابیس به این مشکل برمیخورم
حتما چک کنید این کلاس وجود داشته باشه و حتما namespace رو بررسی کنید.
App\Http\Controllers\Admin\UserController
سلام مشکل بنده برطرف شد
بخاطر این بود که داخل web.php لینکی که تعریف کرده بودم مشکل داشت !!(واقعا مسخرست )
بالاخره بعد از چند روز درستش کردم 🙂
MassAssignmentException in Model.php line 444:
name
سلام اینو چجوری رفع کنم ؟
سلام آموزش ها رو ببینید لطفا و عجله نکنید.
این مشکلم برطرف شد ولی باز به این مشکل خوردم :
FatalThrowableError in User.php line 7:
Class ‘App\Authenticatable’ not found
شما این کلاس رو باید داشته باشید Authenticatable . سرچ کنید و این کلاس رو use کنید.
سلام خسته نباشید آقای محمدی .. میگم اگه بخوام هم فیلد role هم فیلد wallet رو guarded$ بذارم باید چجوری اینکارو انجام بدم ؟
استاد متوجه شدم مشکل از namespace ها بود خیلی ممنونم ?
استاد علی محمدی من میخوام دوره متخصص شمارو شرکت کنم حتما، اگر مقدور هست براتون این مشکل رو کمک کنید من حل کنم جلسه ۹ موندم دیگه پیشرفت نمیکنم خیلی ممنونتون میشم بزرگوارید ?
انجام دادم باز نشد, این ارور رو شما متوجه میشید ؟
کد UsersController و کلاس User و اروری که میگیرم رو گذاشتم ممنون میشم راهنمایی بفرمایید
از کلاس DB::insert استفاده میکنم با موفقیت اطلاعات در جدول درج میشه ولی به شکلی که شما داخل فیلم گفتید یعنی User::create ارور میده! ممنون میشم راهنمایی بفرمایید
در داخل کلاس User بخش fillable رو چک کنید و مطمئن بشید همه فیلد هایی که دارین اضافه می کنید در $fillable موجود باشه.
سلام من وقتی مثل شما میخوام اطلاعات رو وارد جدول کنم به فیلد name ایراد میگیره اگر name رو نذارم به email ایراد می گیره و این ارور رو میده MassAssignmentException in Model.php line 444
سلام استاد . یک سوال داشتم . من در usercontroller کد زیر را قرار دادم اما وقتی کد را save میکنم و مرورگر را Reload میکنم یک اروری میدهد :
FatalThrowableError in userController.php line 22:
Class ‘App\Http\Controllers\admin\user’ not found
چی کاری باید کرد تا این ارور بر طرف بشود ؟
باتشکر از شما .
سلام همون طور که می بینید این خطا میگه کلاس user نمیتونه پیدا کنه. فضای نام و اسم کلاس رو چک کنید درست نوشته باشید.
سلام خسته نباشید من تا اینجای کار کاملا شبیه ویدیوها جلو اومدم اما UserController مدل user رو نمیشناسه و وقتی کد User:Create(reuerst()->all() رو وارد میکنم ارور زیر رو میده. درصورتی که توی ویدیو php storm خودش create رو میشناسه و کامل میکنه.
سلام و ممنون. کلاس User باید به درستی use بشه . اگه فضای نام رو نگاه کنید داره میگه کلاس User در فضای نام admin که ما همچین چیزی نداریم.
سلام دوست عزیز در ابتدای کار اینطوری به نظر میرسه. اما وقتی مقیاس پروژه بزرگ و بزرگ تر میشه می بینید که خیلی از کدهای شما داره تکرار میشه و مجبور هستید برای هر چیزی کدنویسی کنید در حالی که فریمورک همه چیز رو از قبل آماده کرده. در یک insert ساده مطمئنا کدنویسی ساده php برنده هست ولی در برنامه های بزرگ تر دست برتری رو فریمورک داره.