За последние 24 часа нас посетили 34356 программистов и 1695 роботов. Сейчас ищут 716 программистов ...

Репозиторий, сущность и поле-референс

Тема в разделе "PHP для новичков", создана пользователем ArtyGrand, 27 май 2017.

  1. ArtyGrand

    ArtyGrand Активный пользователь

    С нами с:
    4 мар 2017
    Сообщения:
    7
    Симпатии:
    1
    Поскольку некоторые ноют, что ActiveRecord - антипаттерн, я решил для себя репозиторий замутить, который возвращает сущности, состоящие из полей.
    Проблема в том, что я не могу понять, как можно организовать поле-референс или же связь (один ко многим, многие ко многим)

    Если в AR в шаблоне все пишется довольно удобно
    PHP:
    1. $article->parent->title
    то в сущности нету подключения к базе, и я из поля parent не могу добыть никаких данных, кроме id.
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну взял id и сходи в бд за записью
     
  3. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Пользуйтесь Doctrine, зачем изобретать велосипед?
     
  4. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Ну взял из репозитория parent опять же, и получил родительскую статью. Телодвижений побольше конечно.
     
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    но только тогда, когда нужно. Никаких автоматических лишних запросов по одному :D
     
  6. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Ну во всех знакомых мне ActiveRecord решениях есть функция with, которая убирает необходимость лишних запросов по одному при групповом запросе. Хотя дело вкуса. Мне, честно говоря, всё равно, является ли AR антипаттерном или нет, там, где он мне удобен, я им пользуюсь.
    --- Добавлено ---
    Моим заказчикам обычно фиолетово, ActiveRecord у меня или Repository :)
     
  7. ArtyGrand

    ArtyGrand Активный пользователь

    С нами с:
    4 мар 2017
    Сообщения:
    7
    Симпатии:
    1
    прям в шаблоне ходить? или в шаблон передавать переменные с массивами на каждый уровень вложенности, который может потребоваться?

    тормозная и жрущая память монструозная сущность требующая кучу лишних файлов? фуфуфу
     
  8. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Ну в целом да. Все данные должны быть подготовлены до передачи в шаблон. Тут уж решай - что тебе важнее, не использовать "антипаттерн" ActiveRecord, или удобно выводить связанные сущности :)