Null
Правда что-то не соображу как фильтровать сообщения. Т.е. как сделать так чтобы клиенту приходили только сообщения касающиеся его заказов
Так там, если мне память не изменяет, есть же авторизация. Подписывать юзера только на канал его личных заказов. И их же слать.
Alex
Привет, кто то работал с мультиконнекшенами? Настройки доктрины http://joxi.ru/4Ak4PV8ij409Qr Репозиторий http://joxi.ru/ZrJlL6dHQ7bxM2 Этнити пользователя http://joxi.ru/J2b8p0DcqagnBr Получаю ошибку Could not find the entity manager for class "App\Entity\Main\PanelUser". Check your Doctrine configuration to make sure it is configured to load this entity’s metadata.
Александр
Если юзаешь не дефолный EM то нужно явно указывать
Alex
Да, я делал в соответсвии с докой раскидал энтити по подпапкам, для PanelUser дефолтный em http://joxi.ru/nAy4Pabi9na0q2
Alex
Передается ManagerRegistry без указания em
Konstantin
я чот не до конца уверен, что сервисэнтитирепозитори умеет правильно ем выбирать
Konstantin
доберусь до компа, даже повтыкаю в исходники. так-то с виду вроде все правильно сделали
Maxim
Никто не сталкивался с тем, что Symfony возращает POST-данные вместе с JSON ответом?
Maxim
Maxim
Иван
Maxim
В коде нигде нет вывода, и дампов
Иван
так сделай и курл сделай, с которым непонятно
Иван
форм мультипарт и джейсон - это разные контент типы и по идее не могут быть вместе
Иван
а если ты просто реквест->гет делаешь, то он не только из поста забирает значения
Maxim
вы скорее не поняли, Symfony зачем-то обратно отдаёт все то, что ему пришло в пост
Maxim
причём не важно в каком формате пришло, он возвращает в формате url формы
Maxim
и только потом идёт то, что я отдаю через JSON
Maxim
причём на локе, все адекватно, а на Дев-сервере нет
Maxim
и все крутится в докере, никаких проблем с различием в окружении быть не может
Иван
я опять не понял запрос с каким контент типом? кто его обрабатывает? куда он выдаёт?
Maxim
1. На определённый эндпоинт идёт POST-запрос с произвольными данными в формате multipart/form-data. 2. Symfony корректно парсит эти данные, роут отрабатывается корректно. 3. После обработки, появляются данные, которые я отдаю через $this->json() (метод в абстрактом контроллере никаких не модифицировался). 4. По итогу, вместо обычного JSON, Symfony отдаёт JSON и добавленные перед ним данные из тела POST-запроса
Maxim
Так понятнее объяснил?
Maxim
вот как работает на локалке, все гуд
Maxim
а вот тот же самый запрос на dev
Maxim
видите разницу? добавились данные из формы в ответ
Иван
так понятно, так не должно быть а код контроллера можно посмотреть?
Maxim
Maxim
Confirmation - сервис, там никаких выводов и дампов нет
Maxim
одна бизнес-логика
Maxim
причем эта проблема не одного роута, на все такие роуты происходит так
Konstantin
(boolval депрекейтед)
Maxim
Maxim
и никаких евент-листенеров и сабскрайберов нет, никак ответ не модифицируется из других мест
Maxim
понятия не имею, что это было
Maxim
перезагрузка докера помогла
Юра
Похоже простл где-то кто-то дебажил и поставил echo
Юра
Никогда с таким не сталкивался
Maxim
в том-то и дело, что нет, это напрямую спуленный код с репозитория, он никак не модифицировался
Maxim
неясно что за эффект был с докером, непонятное поведение, хотя все кэши чистились
Maxim
возможно был какой-то код до
Maxim
и там очень большой лайфтайм в конфиге выставлен на файлы
Maxim
и че-то мб по датам файлов не обновилось, я понятия не имею
Maxim
сам факт - рестарт пхп контейнера помог
Konstantin
с каких пор?
во-первых, вы же знаете что, var_dump(boolval('true')); // true var_dump(boolval('false')); // true во-вторых, [EA] '(bool) 'true'' can be used instead (reduces cognitive load, up to 6x times faster in PHP 5.x). Inspection info: Analyzes if PHP4 functions (intval, floatval, doubleval, strval) are used for type casting and generates hints to use PHP5's type casting construction (i.e. '(type) parameter'
Konstantin
а что я жопой написал "депрекейтед" вместо "не рекомендуется", это уж вы меня извините, на бегу писал
Maxim
там возвращается или строка с токеном или null, от него не возникнет сайд-эффектов
Maxim
но спасибо
Konstantin
boolval просто функция, это накладывает определенные эффекты на производительность, (bool) сразу улетает в виде инструкции
Maxim
возьму на заметку, спасибо
Konstantin
не рекламы ради, но советую к симфони плагину добавить ещё https://plugins.jetbrains.com/plugin/7622-php-inspections-ea-extended-
Konstantin
оно добавляет пяток точно полезных инспекций, мб больше
Konstantin
киллер-фича - нуллабельность
Evgeniy
Всем привет! Не понимаю как строится запрос с помощью DQL либо queryBuilder в Doctrine. Может кто нибудь помочь с запросом. Имеется две сущности Ads и Image. Между ними есть связь OneToMany, но только на уровне БД. То есть, у нас есть поле Image.item_id по которому мы делаем join с Ads.id. И мне нужно сделать запрос, чтобы достать сущности Ads и их Images На чистом sql вот как бы я сделал SELECT a.*, i.url FROM ads AS a INNER JOIN images AS i ON i.item_id = a.id AND i.type = 'ads' ORDER BY a.created_at DESC LIMIT 5 Как его переписать с использованием DQL или queryBuilder?
Юра
Что значит но только на уровне БД
Konstantin
select a, i from App\Entity\Ad a left join a.images
Evgeniy
Что значит но только на уровне БД
То есть в entity Image у меня поле Image.item_id это просто поле, нету связи ManyToOne
Konstantin
так сделайте ее, связи должны быть в две стороны
Корочка
То есть в entity Image у меня поле Image.item_id это просто поле, нету связи ManyToOne
Можно в сущность не прописывать связь, чтобы все время весь колхоз не тянул за собой
Юра
Вот ар ю токинг
Юра
Пропиши все связи как положено и все
Юра
Инверс и овнинг сайд
Юра
И джоини себе
Корочка
Не надо всегда в сущности прописывать связи. Зачем? Ты когда делаешь выгрузка из одной сущности он весь колхоз берет за собой. Это очень не оптимальное решение. Пусть джонит по факту что нужно
Юра
Какой колхол лезет?
Юра
С собой оно берет только если eager relation
Юра
А так то там lazy коллекции
Юра
Конечно если ты начнешь читать коллекцию оно её потянет
Konstantin
в сущностях ты "платишь за то что используешь". если ты явно не селектишь связи, они ничего не стоят
Корочка
Конечно если ты начнешь читать коллекцию оно её потянет
Просто вы ему сейчас посоветуете он на создает связей и там у него будет тянуться все из БД. Он же даже еще пока доктрину не знает
Konstantin
инфа прям сотка, не надо этого бояться. там весь оверхед - это три строчки на аннотации да геттер с с сеттером если нужны
Юра
Тогда выбирай обычным sql айдишники, а потом в dql WHERE id IN()
Юра
)
Konstantin
желательно чтобы их было хотя бы тысяч 5
Evgeniy
Дело в том что у меня таблица image имеет связи с двумя таблицами по полю item_id и в зависимости от поля type ('ads', 'category')
Evgeniy
Вот как это выглядит на схеме
Evgeniy