جشنواره عیدانه راکت | عضویت ویژه راکت برای آخرین بار | افزایش قیمت‌ها از سال جدید | و ...

مشاهده اطلاعات بیشتر...
ثانیه
دقیقه
ساعت
روز
مجید فیضی
6 سال پیش توسط مجید فیضی مطرح شد
4 پاسخ

منو درختی tree menu

سلام
دوستان برای ایجاد منو درختی در لاراول با دیتابیس زیر چه باید کرد نمونه کد بدین ممنون میشم
name
slug
link
parent_id


ثبت پرسش جدید
Igo
@Igo 6 سال پیش مطرح شد
0

سلام دوست عزیز
شما باید یک جدول به اسم Menu در دیتابیس خودتون داشته باشید که علاوه بر اطلاعت مورد نیاز باید یکه رابطه با خود جدول Menu داشته باشه و یک فیلد به اسم ParentMenuId که این فیلد کلید خارجی خود جدول Menu به جدول Menu میشه. این فیلد حتما باید مقدار Null رو بپذیره
به این نوع رابطه ها میگن رابطه سلف جوین. و به کمک این رابطه شما میتونید که تمام روابط درختی رو پیاده سازی کنید.
حالا شما با استفاده از فیلد ParentMenuId و یک حلقه میتونید منوها رو بدرستی واکشی کنید و نمایش دهید فقط توجه داشته باشید که وقتی ParentMenuId مقدار Null داشته باشه منو ریشه است .
بحث دیگه ایی که اینجا مطرح هست اینه که شما توی تمام صفحاتتون باید منو هارو نمایش دهید و همه ما میدونیم که ارتباط با دیتابیس یک عمل سنگین و زمان بر حساب میشه. با این روند شما هر صفحه ایی رو که درخواست کنید یک کانکشن با دیتابیس بر قرار میشه و تمام منو ها رو واکشی میکنه
پیشنهاد شما برای رفع این مشکل چیه ؟؟؟؟


مجید فیضی
@sermajid 6 سال پیش مطرح شد
1

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


مهدی رستگار
تخصص : توسعه دهنده frontend &amp...
@rm.8968 6 سال پیش مطرح شد
2

اگه منو درختی میخواین که تا n سطح زیرمنو داشته باشه میتونید به لینک زیر مراجعه کنید درضمن نظرات دوستان هم در این مورد درست بود ولی گفتین نحوه کد نویسی میخواین تو این لینک کامل توضیح داده دمو هم داره میتونید نتیجه اش رو ببینید
https://itsolutionstuff.com/post/laravel-5-category-treeview-hierarchical-structure-example-with-demoexample.html

اینم لینک دمو :
http://demo.itsolutionstuff.com/category-tree-view


Mohammad.H
@moohammadh55 6 سال پیش مطرح شد
1

@sermajid3 از طریق تابع بازگشتی میتونید این کار رو بکنید. البته تابع بازگشتی که کوئری داخل loop همش تکرار نشه و فقط یکبار کوئری زده بشه و باقی کارها با foreach کردن آرایه دریافتی انجام بگیره.
https://www.phpzag.com/how-to-create-dynamic-tree-view-menu-in-php/


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

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