راکت
حل شده

دیتابیس پیشنهادی برای منو و برگه ها

8 پاسخ

سلام
برای پیاده سازی جدول دیتابیس های زیر لطفا پیشنهاد بدید.

جدول منو : id ، title , parent_id , link

دیگه چه مواردی نیاز هست؟
یک نکته هم هست، جدول میتونه به جای لینک، ایدی page داشته باشه.

جدول برگه ها: id , title ,poster_id , context , time

دیگه چه مواردی نیاز هست؟

ثبت پرسش جدید

پاسخ‌ها

8
Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

بهترین پاسخ

سلام.

id, parent_id, title, url, order

اگه خواستین به پیج وصلش کنین، لینک اون پیج رو به دست میارین و بعد به شکل آدرس نسبی ذخیره می‌کنین.

جدول برگه‌ها:

id, title, image_url, content, created_at

اگه هر برگه چندین تصویر داره، باید رابطه یک به چند داشته باشین و جدولی برای تصاویر هر برگه بسازین. بقیه هم بستگی به نیازتون داره و نمیشه یه نسخه برای هر پروژه پیچید. نیاز ماست که این چیزهارو مشخص می‌کنه.

محمدسجاد دباغ
محمدسجاد دباغ
@mdabbagh

تخصص: برنامه نویس لاراول

@muhammad
متشکرم 😘 دوتا سوال دیگه هم دارم

1- ما توی منو بجز برگه و لینک مستقیم ، یک سری صفحه آرشیو یا ... داریم که از قبل پیاده سازی شده ، این مورد رو چطور باید به در جدول منو اضافه کرد؟ (ادمین «مشتری» لینک دقیق اون هارو نمیدونه)

2- قسمت order تا حالا پیاده نکردم ، باید عدد باشه؟ بعد چطور باید دو عدد جابه جا بشوند؟

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

1) اگه این لینک‌ها تغییر نمی‌کنن، خودتون در حین ایجاد منو لینک رو تولید می‌کنین ولی اگه ممکنه تغییر کنه می‌تونین یه ستون برای تایپ و یه ستون برای آیدی بذارین. مثل چیزی که توی روابط پولیمورفیک داریم.
2) برای ترتیب منو یه عدد دارین که روش کوئری بزنین و در حین جابجایی میشه ترتیب منوهارو ذخیره کرد. توی ویو می‌تونین یه سلکت باکس داشته باشین که اعداد توش باشن و کاربر ترتیب هر کدوم رو انتخاب کنه.

شاید پاسخ شما همین‌جا باشد

محمدسجاد دباغ
محمدسجاد دباغ
@mdabbagh

تخصص: برنامه نویس لاراول

@muhammad
سلام وقت بخیر
من جدول رو ساختم و آیتم هایی که زیردسته اصلی هستند parent صفر دارند و مابقی parent id که زیرمجموعه اون هستند.
اما چطور باید نمایش بدم؟

<ul class="navbar-nav">
@foreach ($allmenu as $item)
    @if ( $item->parent_id == 0)
    <li class="nav-item">
        <a class="nav-link" href="https://roocket.ir/{{ $item->url }}">{{ $item->title }}</a>
    </li>
    @else
    <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="https://roocket.ir/{{ $item->url }}" id="navbarDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
        {{ $item->title }}
        </a>
        <ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
        @foreach ($allmenu as $itemto)
            @if ($itemto->parent_id ==  $item->parent_id )
            <li><a class="dropdown-item" href="https://roocket.ir/{{ $item->url }}">{{ $item->title }}</a></li>
            @endif
        @endforeach
        </ul>
    </li>
    @endif
@endforeach
</ul>

در این مثال نمیشه زیرمجموعه هارو تشخیص داد

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

اولا parent_id می‌تونه nullable باشه و نیازی به صفر نیست.
برای پیاده‌کردنش هم کافیه دوتا foreach تو در تو داشته باشید. روی مدل منو هم یه رابطه دارید که داخل foreach دومی اون رو می‌گیرین.

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

@muhammad
توضیحاتت درست و عالی بود ، ایول داری

احسان رضوی
احسان رضوی
@ehsan.in

تخصص: توسعه دهنده‌ی وب

@msdabbagh

توی این آدرس هم دیاگرام‌ها و اسکیماهای مختلفی دیتابیس و روابط ما بینشون آورده شده که مشاهدش شاید خالی از لطف نباشه و بتونه کمکتون کنه:
اسکیماهای دیتابیس

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

@juza66
قربانت لطف داری
خودمم تازه دارم دیتابیس یاد می‌گیرم 😂

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

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