رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Many to Many CRUD
#1
سلام  Big Grin
عذرخواهی میکنم اگر پرسشم مبتدی هست  Sad
میتونید بهم بگید برای روابط many to many سناریو update،فریمورک Yii چه کمکی میتونه به ما بکنه  Undecided
چون باید خودمون آیتم هارو ابتدا حذف کنیم،دوباره foreach بزنیم روی آیتم ها و اونها در جدول واسط ثبت کنیم که خیلی خسته کننده اس  Huh
خود فریمورک راه حل مناسبی برای این کار ارائه نداده ؟  Huh کمکم کنید لطفا  Heart
پاسخ
تشکر شده توسط:
#2
کسی نمیتونه راهنمایی کنه ؟
پاسخ
تشکر شده توسط:
#3
این موضوع هیچ ربطی به فریمورک نداره. توی قیدی که داخل دیتابیس برقرار میکنید، برای ON DELETE هم گزینه‌ی CASCADE رو انتخاب کنید.
پاسخ
تشکر شده توسط:
#4
منظورم سناریو آپدیت است استاد.
که باید ایتم های جدید آیتم های حذف شده رو بدست بیاریم
و حذف و ثبت کنیم
مثلا چیزی مشابه دسته بندی پست ها که ممکنه هربار کم یا زیاد بشن. یک متدی خود فریمورک ددره به اسم link ولی نمیدونم برای چی هست.
پاسخ
تشکر شده توسط:
#5
وقتی کار رو به دیتابیس سپرده باشین لازم نیست خودتون کاری کنین. وقتی حذف بشه تمام رکوردهای وابسته هم حذف میشه. حتی اگه در فاصله‌ی بین انتخاب دکمه‌ی حذف و انجام واقعی عملیات حذف چیزی اضافه شده باشه.
پاسخ
تشکر شده توسط:
#6
توی آپدیت هم میتونین ON UPDATE رو روی CASCADE تنظیم کنید. اینطوری اگه کلید اصلی تغییر کنه، تمام کلیدهای وابسته (خارجی) که به کلید قبلی اشاره میکردن هم آپدیت میشن.
پاسخ
تشکر شده توسط:
#7
پست 1 چنین دسته هایی داره

نرم افزار ( ایدی 1 )
سخت افزار ( ایدی 2 )

جدول
tbl_category_post
با فیلد های
id,post_id,category_id
با رکورد های :
1 1 1
2 1 2
حالا ویرایش میکنیم
به
برنامه نویسی
الگوریتم
نرم افزار.

خب اینجا دیگه باید رکورد 2 که سخت افزار هست حذف بشه از categoryها
و 2 دسته جدید برنامه نویسی و الگوریتم بهشون اضافه بشه.
توی این سناریو باید دسته هایی که قراره حذف بشه رو شناسایی کنیم( دسته سخت افزار )
دسته های جدید رو هم شناسایی کنیم.
حذف شده رو حذف و جدید هارو اضافه کنیم.
یعنی foreach بزنیم روی جدید ها و دونه دونه insert کنیم.

در چنین حالتی دیتابیس به ما کمک میکنه ؟ نمیدونم. من با php انجام میدم.
اما خب گفتم شاید فریمورک یک کمکی بکنه.
پاسخ
تشکر شده توسط:
#8
خیر رکورد 2 نباید حذف بشه. شما فقط ارتباط دسته‌ی دوم با پست اول رو حذف کردین نه خود دسته‌ی دوم رو. اون دسته وجود داره ولی دیگه با پست 1 ارتباط نداره. دسته‌ها وابسته به مطالب نیستن.
پاسخ
تشکر شده توسط:
#9
بله.
منظورم همون هست،باید ارتباط دسته دوم با پست اول در جدول واسط حذف کنیم.
درکل میخواستم سناریو رو توضیح بدم. که این روال،توسط فریمورک یا سایر ابزار اماده قابل انجام هست یا خودمون باید کد کنیم.
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان