برای اینکه از دو تیبل واسط استفاده نکنید باید از Polymorphic استفاده کنید و برای بینهایت شدن هم ی چایلد تعریف کنید توی تیبل دسته بندی ها و با استفاده از توابع بازگشتی انجام بدید
سلام دوست من اینی که از چه روابطی استفاده کنی مهم نیست , مهم اینه که بدونی می خوای از روش nested set استفاده کنی برای دسته بندی .یعنی بی نهایت دسته های تو در تو داشته باشی.خب این کار احتیاج به منطق داره.
کمی تحقیق کنید در این رابطه بد نیست
@mehrdadroshanraee69
نکته اینجاست ، شما باید یه رابطه one to many از تیبل کتگوری به خود تیبل کتگوری ایجاد کنید . یک فیلد مثلا به اسم parentid توی تیبل کتگوری اضافه کنید ، توی این فیلد یک دسته پدر برای هر دسته مشخص میکنید ، و پس هر دسته میتونه یک پدر داشته باشه و خودش میتونه پدر چندین دسته دیگه باشه .
میتونی از پکیج Laravel-Categorizable استفاده کنی.
https://github.com/AliBayat/Laravel-Categorizable
با روابط چندریختی، این پکیج میتونه هر مدل الکوئنت رو دسته بندی کنه...
و برای ساخت دسته بندی ها هم هیچ محدودیتی نداره
میتونی تا هر چند مرحله که خواستی، پیش بری
یک سری متدها برای بررسی روابط بین دسته ها داره:
$category->isChildOf($other);
$category->isAncestorOf($other);
$category->isSiblingOf($other);
$category->isLeaf()
به همراه اسکوپهای مختلف مثل:
$result = Category::ancestorsOf($id);
$result = Category::ancestorsAndSelf($id);
$result = Category::descendantsOf($id);
$result = Category::descendantsAndSelf($id);
در کنار اینها امکان استفاده از روابط زیر رو هم دارید:
Category belongs to parent
Category has many children
Category has many ancestors
Category has many descendants
متدهای کاربردی برای ضمیمه کردن دسته بندی به یک مدل و حذف و غیره... در ریپازیتوری گیتهاب + در گفتگوی زیر موجوده:
https://roocket.ir/discuss/6117
موفق باشید
جواب سوال شما تو طرز استفاده از روش داده های سلسله مراتبی هست. در این روش داده ها داخل یک ساختار درختی در رکورد های دیتابیس ذخیره سازی میشن
روش های مختلفی برای کار با داده های سلسله مراتبی هست مثل:
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟