Yaroslav
я отредактировал выше, не старайся зря
Yaroslav
это элоквент или билдер?
Pavel
клоаквент
Sergey_K
Отлично)))
Sergey_K
В элокенте нет джойнов
Yaroslav
клоаквент
джоины в чистом виде это понятно. я имею в виду получение дочерних сущностей с родительской
Yaroslav
Отлично)))
ну еще бы не было Entity::join
Sergey_K
клоаквент
Он про релейшн
Sergey_K
ну еще бы не было Entity::join
Ну а что ты тогда споашиваешь?
Yaroslav
Он про релейшн
само собой
Sergey_K
Вопрос-то в чем?
Pavel
Не отвечу. Не сталкивался )
Yaroslav
утверждаю
Pavel
утверждаю
а Doctrine умеет?
Yaroslav
а Doctrine умеет?
по доктрине ничего не скажу
Sergey_K
Pavel
а кто умеет тогда?
Yaroslav
И?
получение дочерних сущностей выполняется через подзапросы. но это не точно, потому что прошло много времени с момента ознакомления со статьей какого-то дотошного товарища с бенчмарками
Yaroslav
И что?
это мягко говоря несколько медленнее чем объединения
Yaroslav
Так это для другого
комменты статьи можно получить как объединением так и подзапросами. а что для другого я не понял если честно
Sergey_K
Тебе метод вернул модель заказа. И в каком-то случае тебе надо адрес.
Sergey_K
А в какой-то не надо. Ты будешь всегда джойн сл всеми полями возвращать?
Sergey_K
Элокент работает с курсорами и чанками
Sergey_K
Хпдо это не умеет.
Yaroslav
А в какой-то не надо. Ты будешь всегда джойн сл всеми полями возвращать?
это конструируется понятное дело. зачем всегда? только в списке заказов с адресами. речь о том что есть интересный способ организации запросов, но элоквент похоже что работает иначе, последовательно
Yaroslav
Элокент работает с курсорами и чанками
с курсором работает вроде как
Yaroslav
https://docs.modx.com/current/en/extending-modx/xpdo/class-reference/xpdo/xpdo.getiterator
Yaroslav
Это притянутая за уши трактовка. Джойн никто не мешает делать.
полагаю, что comments() возвращает курсор, и при обходе он дергается, затем создается следующий итд. у xPDO данные для comments уже есть в результирующем наборе строк полученном за один запрос. это плюс по скорости.
Sergey_K
https://docs.modx.com/current/en/extending-modx/xpdo/class-reference/xpdo/xpdo.getiterator
Ну хоть что-то. Правда, не знаю, чтоттак с обновлением курсора.
Sergey_K
Обычный запрос.
Yaroslav
Обычный запрос.
я о реализации под капотом. извлечение делается каждый раз при обходе курсором.
Yaroslav
xPDO устарел, но у него используются некоторые практики для быстродействия при получении вложенных результатов. на том пожалуй и остановлюсь) а с элоквентом я и сам работаю, не брезгую если что))
Sergey_K
И что? Это нужно для одноразовых запросов. Надо быть идиотом, чтобы на этом запрашивать таблицы.
Sergey_K
Для быстродействия делается вью в базе, которая там же кэшируется и сразу имеет план выполнения и статистику.
Yaroslav
И что? Это нужно для одноразовых запросов. Надо быть идиотом, чтобы на этом запрашивать таблицы.
да, это нужно для построенных с вложенными сущностями запросов. «дай юзера с постами». когда просто юзера, то понятно что это не нужно
Sergey_K
Ну так сделай примитивный метод в 2 строки с джойном
Yaroslav
Глупость этой фразы очевидна, если понимать, что на выходе из любой ORM будет просто SQL запрос.
на выходе любой орм будет объект или связанные объекты. я считаю что орм все-таки для этого) а вот будет ли под капотом один или 1000 запросов для 1000 юзеров с постами это уже другое дело
Sergey_K
И получай хоть с постами, хоть с результатами анализов.
Sergey_K
Такой же идиот то же самое и в xpdo сделает
Yaroslav
1000 юзеров с постами через релейшены будет выбирать тольуо идиот.
ну надо этому идиоту, например это сериализовать и отдать json куда бы ни было) почему идиот получил клеймо? что с ним не так?
Yaroslav
1000 юзеров с постами через релейшены будет выбирать тольуо идиот.
поставлю вопрос иначе: как бы это сделал адекватный разработчик?)
Yaroslav
Ну так сделай примитивный метод в 2 строки с джойном
кстати хотел бы я потом посмотреть на булевы значения и форматирование дат 😊
Sergey_K
Релейшн это работа с курсором
Sergey_K
А джойн это с множествои
Yaroslav
Релейшн это работа с курсором
утверждение в контексте элоквента же? ну ок
Sergey_K
Про 1000 юзеров невнятный пример
Sergey_K
Это утверждение в контексте теории множеств, очевидно
Yaroslav
Релейшн это работа с курсором
курсор это указатель на множество ) зачем нам говорить какими-то терминами?)
Yaroslav
Это утверждение в контексте теории множеств, очевидно
какое место в ней занимает курсор? чет я запутался)
Sergey_K
Нда...
Sergey_K
Перебор записей нереализуем операциями над множествами.
Yaroslav
Нда...
хехех) короче… инстанцирование множеством работает быстрее инстанцирования курсором) хпдо умеет инстанцировать множеством, а элоквент курсором. вот так-то
Sergey_K
Бред
Sergey_K
Алгебру почитай
Yaroslav
Бред
берд это состояние сознания)
Sergey_K
Бред это расстройство мыслительной деятельности, почитай учебник по медицине )
Yaroslav
Алгебру почитай
зачем мне это? я сравнил реализацию инстанцирования объектов в xPDO и Eloquent. зачем бросаться смутными воспоминаниями из универа в меня?) у меня тоже есть опыт в разных областях, достойный уважения) но ты же никого не уважаешь, так что не будем об этом)
Yaroslav
Бред это расстройство мыслительной деятельности, почитай учебник по медицине )
я просто скопировал и нашел в гугле откуда это) моя формулировка тоже частично совпала с парой результатов, так что я спокоен. не сильно промахнулся) обойдусь без медицины, спасибо)
Yaroslav
Молодец, про "инстанциацию", видимо, тот же ученый писал :)))
инстанцирование - это создание экземпляра класса. если подскажешь русскоязычный термин, буду благодарен
Yaroslav
созданиеэкземляракласса
Yaroslav
по-русски)
Sergey_K
Да, почитай учебники по программированию
Sergey_K
Там это так
Yaroslav
хорошо
Yaroslav