به نام خدا و سلام. در جلسه قبلی بخش دسته بندی ها رو با استفاده از polymorphic relation پیاده سازی کردیم و بخش مدیریت رو هم ایجاد کردیم و در این جلسه قصد داریم با پلاگین جی کوئری select2 دسته بندی ها رو در بخش ایجاد و نمایش پکیج نمایش بدیم.
این مطلب یک جلسه از آموزش حرفه ای لاراول می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.
سلام.استاد من دقیقاً عملکرد تابع sync رو متوجه نشدم.این متد مشابه تابع toggleclass جی کوئری عمل میکنه؟یعنی attach میکنه در صورت detach باشه و بالعکس.یه مشکل جزئی توی حذف رکوردهای جدول واسه categorizable هست و اون اینه که اگر توی فرم ویرایش package همه categoryهای را حذف کنیم شرط
توی متد update کنترلر package، برابر false میشه و عملیات sync رو انجام نمیده پس باید توی متد update همیشه دسته بندیهای یک پکیج را همیش اول dettach کرد بعد sync کرد؟یعنی
سلام. متد sync یک آرایه میگیره مقادیر موجود در آرایه به دو صورت بررسی میشن. اگر در دیتابیس وجود داشته باشن و در آرایه نباشه، میاد اونارو از دیتابیس حذف میکنه. اگر در آرایه باشه ولی در دیتابیس نباشه اونارو به دیتابیس اضافه میکنه.
ممنون.استاد من میخوام مثلاً بخش مدیریت دسته بندیها بگونه باشه ای که وقتی یک رکورد را حذف میکنم(مثلاً دسته فتوشاپ) بطور اتوماتیک تمام فایل ها و پکیجهای متصل به این مجموعه از جدول واسطه(Categorizables) حذف بشه.روش اصولی و منطقی این کار چیه؟باید از متد sync استفاده کنم و قبل از حذف رکورد در جدول category، فایلها و پکیجهای متصل شده به این مجموعه را detach کنم یا از Mysql کمک بگیرم و نوع actionهای جدول واسط را CASCADE یا RESTRICT بذارم؟!یا روش دیگر؟
سلام می تونید قبل از حذف کردن رکورد کامل detach کنید و بعدش حذف کنید یه روش دیگه هم استفاده از رویداد حذف کردن مدل های لاراول هستش که در هنگام حذف کردن می تونید تمام relation ها رو حذف کنید.
سلام متوجه یه اشکال شدم گفتم باشما درمیان بذارم ,وقتی میخوایم یوزر رو ویرایش کنیم پسورد دیگه ولیدیشن نمیشه یعنی میتونیم پسورد یک رقمی وارد کنیم بعد سیو کنیم این درصورتیه که ما مینیمم رو 6 و ماکزیمم رو 12 در نظر گرفتیم, لطفا راه حل براش پیدا کنید
در حالت ویرایش می تونید چک کنید اگر کاربر فیلد پسوورد رو وارد کرده بود rule براش اعمال بشه.این کارو می تونید با FormRequest انجام بدین.
سلام
جلسات خیلی داره کند پیش میره ، شما گفته بودید هفته ای 3 جلسه الان تقریبا شده 1 جلسه …
سلام. داریم قالب جدید سون لرن رو آماده می کنیم که تا فردا کارش تموم میشه و حتما جلسات جدید رو با سرعت بیشتری منتشر می کنیم.
سلام
از بارگذاری قالب جدید سایت چند هفته میگذره اما هنوز یه جلسه جدید هم نذاشتید …
سلام دو قسمت جدید منتشر شده و این هفته قسمت های جدید هم منشتر میشه.
سلام استاد خسته نباشید
با نوشتن این خط کد
$new_package->categories()->sync($request->input(‘categories’));
لاراول چطور متوجه میشه هر کدوم از فیلد هارو در چه فیلد از جدول واسط قرار بده.
در جدول categoriesable چطور متوجه میشه که فیلد categoriesable_type رو پرکنه.
ماهیت دقیقش رو من متوجه نمیشم.
سلام دوست عزیز. این مورد توسط رابطه هایی که لاراول بین مدل ها برقرار میکنه اجرا میشه و از این رابطه ها تشخیص میده فیلد ها باید چه مقادیری رو باید داشته باشه.
الان این مورد رو categoriesable_type
خود لاراول متوجه میشه؟
ما از کجا باید بفهمیم که خود لاراول بعضی کارهارو انجام میده؟
از کجا بفهمیم که بعضی فید فیلدها مثل همین فیلد رو خود لاراول پر میکنه.
این موارد رو معمولا خود لاراول در مستنداتش ارائه میده و ما در همین دوره هم بهشون اشاره کردیم.
برای اینکه تعداد پکیج های دسته بندیم رو ببینم این کد رو مینویسم خطا میده.
بقیه موارد مشکلی ندارم ولی نمیدونم چرا برای این مورد اخطار میده
ErrorException in Collection.php line 432:
Type error: Too few arguments to function Illuminate\Support\Collection::get(), 0 passed in C:\xampp\htdocs\larafiles\storage\framework\views\aeb4addb0d616e09a5726b1c91275ce5abbb9bba.php on line 4 and at least 1 expected (View: C:\xampp\htdocs\larafiles\resources\views\admin\category\categoryItem.blade.php) (View: C:\xampp\htdocs\larafiles\resources\views\admin\category\categoryItem.blade.php)
$categories رو نوشتین $category
سلام استاد وقتی این کد رو در کنترلر دسته بندی مینویسم تعداد پکیج هاش رو بهم میده
ولی وقتی کد دوم رو در قسمت ویو مینویسم خطا میده
$categories رو نوشتین $category
با سلام
با چه تابعی میتونم موفقیت آمیز بودن ()sync را گزارش بگیرم؟ میخوام اگر sync انجام شد یه پیام بده و اگر انجام نشد یه پیام دیگه.
با تشکر
سلام مقداری برگشتی رو می تونید چک کنید.