За последние 24 часа нас посетили 17898 программистов и 1569 роботов. Сейчас ищут 1299 программистов ...

Как спроектировать БД (многое ко многим)?

Тема в разделе "Laravel", создана пользователем 16artemiy16, 31 авг 2017.

  1. 16artemiy16

    16artemiy16 Новичок

    С нами с:
    31 авг 2017
    Сообщения:
    1
    Симпатии:
    0
    Планировалось создать на сайте страницу с проектами и страницу с сотрудниками. На странице каждого проекта содержатся ссылки на участвовавших в нем сотрудников, а на странице сотрудника - список проектов, которые он реализовывал. Спроектировал БД, показанную на рисунке.
    bd.png

    Потом в голову пришла мысль вместе со списком проектов на странице сотрудников указывать также его обязанность (дизайнер, программист и т.д.) и соответственно на странице проекта рядом с именем отображать обязанность.

    Вопрос: как это реализовать? Придется создавать отдельную таблицу? Или добавить новое поле в таблицу member_project и как в таком случае взаимодействовать с ним средствами Laravel?
     
  2. t1grok

    t1grok Новичок

    С нами с:
    29 янв 2017
    Сообщения:
    119
    Симпатии:
    32
    Как реализуете, так и будете взаимодейстовать, в чем конкретно загвоздка?
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    если обязанность строго только всегда одна, то можно приписать к member_ project, но иногда бывает, что их несколько, так что я бы мутил отдельную, допускающую несколько обязанностей в одном проекте
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Взаимодействие через Laravel не ограничивается Eloquent, если что-то не можете реализовать через модели - обратитесь прямо к БД с запросом, что вам мешает? И, возможно (я сегодня устал, не особо соображаю, но вроде похоже на случай) https://laravel.com/docs/5.4/eloquent-relationships#has-many-through.
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Напрямую в БД? Импоссибру!

    [​IMG]