Я иду с фона Коханы и задал пару вопросов, связанных с проблемой, которую у меня есть, и вам нужно выяснить, как это сделать. Я ОЧЕНЬ новичок в Symfony и Doctrine и люблю изучать новые рамки и исправлять способы кодирования. Однако я нахожу, что Doctrine ORM расстраивает, чтобы использовать все же мощный.Как выполнить некоторый код после того, как Symfony3/Doctrine загружает данные из моей базы данных?
Итак, вот моя основная проблема, и я постараюсь быть кратким. У меня есть таблица products
и таблица products_images
. Следуя руководству для Symfony, я уже могу создавать Entities для обоих и сопоставлять отношения, создавать геттеры и сеттеры, создавать репозитории и весь бит. Но вот где он становится липким ...
Таблица product_images
содержит только имя изображения, а не путь, который мне, очевидно, понадобится, если я собираюсь построить и использовать href в моем html. Таблица продуктов была заполнена продуктами, сканируясь через Интернет и получая их в этом методе, и в качестве требования лиц, которые заставляют меня писать свой веб-сайт, я должен хранить изображения в каталогах, которые отображают, где они были сканированы из , Расположение изображений часто менялось, поэтому я НЕ хочу хранить путь в базе данных.
Итак, чтобы мой вопрос был простым, что мне нужно сделать, каким-то образом, это написать какую-то логику, которая исследует, откуда было сканировано изображение, а затем построить строку пути, которая будет передаваться по моему шаблону ветви, а затем добавить имя изображения ... все, чтобы создать допустимый тег изображения или href.
Последняя попытка найти решение для этого заключалась в том, чтобы изменить getter для имени изображения в Entity, но так как я использую createQueryBuilder()
для выполнения некоторого DQL, похоже, что геттеры не используются, и теперь у меня ничего нет продолжать. Я не могу найти документацию на официальном сайте Doctrine, которая помогает мне обойти эту проблему, и мне просто нужно знать, как ее преодолеть. Может ли кто-нибудь помочь?
Давайте ненадолго пропустим Доктрину. Как вы можете * угадать * путь? Откуда вы знаете, откуда оно взялось? –
Я думаю, вы спрашиваете, как выполнить некоторый код после загрузки изображения из базы данных? Если да, взгляните на систему событий doctrine и, в частности, на событие postLoad. http://doctrine-orm.readthedocs.io/projects/doctrine-orm/en/latest/reference/events.html#postload и http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.html – Cerad
pogeybait, -1 для не «Написание заголовка, в котором суммируется конкретная проблема». Подробнее см. Ссылку [как спросить] (http://stackoverflow.com/help/how-to-ask). В частности, когда пользователи ищут аналогичный вопрос, важно иметь правильный заголовок. Можете ли вы изменить свое сообщение и изменить заголовок? Кроме того, DQL не похож на построитель запросов! Можете ли вы подтвердить, используете ли вы [VichUploaderBundle] (http://symfony.com/doc/current/cookbook/controller/upload_file.html) или нет? Благодаря! –