مهرداد
4 سال پیش توسط مهرداد مطرح شد
5 پاسخ

دسته بندی بی نهایت

دوستان لاراولی لطفا راهنماییم کنید برای ایجاد دسته بندی بی نهایت برای مقالات و دوره های اموزشی باید از روابط many to many باید استفاده کنم یا Polymorphic


ثبت پرسش جدید
Reza Amini
تخصص : PHP/Laravel
@rezi 4 سال پیش مطرح شد
-1

برای اینکه از دو تیبل واسط استفاده نکنید باید از Polymorphic استفاده کنید و برای بینهایت شدن هم ی چایلد تعریف کنید توی تیبل دسته بندی ها و با استفاده از توابع بازگشتی انجام بدید


hasan afshar
@n.13ruffsmasher 4 سال پیش مطرح شد
0

سلام دوست من اینی که از چه روابطی استفاده کنی مهم نیست , مهم اینه که بدونی می خوای از روش nested set استفاده کنی برای دسته بندی .یعنی بی نهایت دسته های تو در تو داشته باشی.خب این کار احتیاج به منطق داره.
کمی تحقیق کنید در این رابطه بد نیست


وحید
تخصص : Fullstack
@forughi.vahid 4 سال پیش آپدیت شد
0

@mehrdadroshanraee69
نکته اینجاست ، شما باید یه رابطه one to many از تیبل کتگوری به خود تیبل کتگوری ایجاد کنید . یک فیلد مثلا به اسم parentid توی تیبل کتگوری اضافه کنید ، توی این فیلد یک دسته پدر برای هر دسته مشخص میکنید ، و پس هر دسته میتونه یک پدر داشته باشه و خودش میتونه پدر چندین دسته دیگه باشه .

  • با توجه به نیازتون ارتباط دسته ها با مقالات میتونه هر چیزی باشه.
  • اگر هم مقالات و هم ویدیو آموزشی دسته بندی دارند از نظر سادگی بهترین انتخاب polymorphic one to many هست.

علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

میتونی از پکیج 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

موفق باشید


hasan afshar
@n.13ruffsmasher 1 سال پیش مطرح شد
0

جواب سوال شما تو طرز استفاده از روش داده های سلسله مراتبی هست. در این روش داده ها داخل یک ساختار درختی در رکورد های دیتابیس ذخیره سازی میشن
روش های مختلفی برای کار با داده های سلسله مراتبی هست مثل:

  • Adjacency List
  • Nested Sets
    بنده روش nested sets رو پیشنهاد میکنم

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

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