@antonowano
Профессиональный самоучка

Вернуть путь к загруженному файла в doctrine-сущности?

Создал сущность File с реализацией загрузки файлов, как в официальной документации.
Как воспользоваться методом getWebPath в DQL запросе, которым я вывожу все записи на страницу?
Раньше было так
CONCAT(photo.folder, photo.filename) filename
теперь же нужно так
CONCAT('static/', photo.folder, '/', photo.filename) image

хотелось бы так
photo.webPath image

Заранее извиняюсь за то, что не смог более понятно выразиться.
  • Вопрос задан
  • 297 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
1) сущность не должна уметь загружать файлы.
2) зачем эти извращения в DQL? можно сделать то же самое в геттере, а еще лучше передавать в геттер сервис который будет ресолвить все что нужно через дабл диспатч:
function getFile(FileResolver $resolver) {
    // причем только потому что учавствуют два поля
    return $resolver->resolve($this->folder, $this->filename);
}


что-то в этом духе.

А если у нас Doctrine 2.5 можно вообще хранить value object аля FileReference и тогда все еще проще, тогда FileReference можно крутить как хочешь и тот же FileResolver смог бы его как аргумент брать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы