Alexander
Ilya 🃏
Ilya 🃏
Вообще пишет что не видит эту переменную
Vlad
тебя вообще не смущает, что эти переменные в другом запросе (вложенном) объявлены?
Ilya 🃏
Так вот о том и речь шла, с самого начала эе об этом и спросил) Можно ли так и если нет - как правильно
Ilya 🃏
а нет, там не внутри
Ilya 🃏
Ilya 🃏
вся эта переменная - результат всего запроса avg
Alexander
сам запрос страшный
c1_ и c4_ одна и та же таблица, подзапрос будет считаться на каждую запись
начните с запроса с avg и к нему присоединяйте что надо
либо ещё хуже - весь запрос в подзапрос и сверху уже эти ограничения)))
Ilya 🃏
Соль в том, что этих avg будет несколько)
Ilya 🃏
Пытаемся засунуть пользовательские фильтры в запрос)
Ilya 🃏
Чтобы не вытаскивать вообще все а потом фильтровать
Ilya 🃏
там будет 2 таких avg по трем разным полям и нужно их проверять одновременно
Санжар
Кто-нибудь пробовал ларавеловские .env читать?
Есть вменяемый способ оттуда креды доставать?
Pavel
Pavel
в чем собственно проблема?
Санжар
в чем собственно проблема?
Вообще проблема такая.
В Symfony:
DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=13&charset=utf8"
В doctrine.yaml:
dbal:
url: '%env(resolve:DATABASE_URL)%'
Т.е достается все из DATABASE_URL, а если у меня .env файл подобный:
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=1_postgresql_cloud
То как оттуда я должен вытаскивать поля=значения?
Примера именно не хватает просто как с таким видом работать
Shokha
Санжар
concat
в духе %env(resolve:DB_HOST+DB_PORT)?
Или где именно конкатенацию делать? не в yaml файле наверн
Мб другой способ есть?
Pavel
объедини в .env в одну строку и передавай ее
Shokha
Pavel
либо если тебе важно, чтобы все эти переменные были отдельно, добавь новую DATABASE_URL, в которой сделай конкат всех этих переменных
Максим
Санжар
Максим
https://symfony.com/bundles/DoctrineBundle/current/configuration.html
Максим
Санжар
Всем спасибо, помогли
A
Кто-то знает, как сделать, что бы компонент serializer сериализовал только свойства определенного типа? или наоборот, убрать из данных свойства ненужного типа.
Vlad
normalizer?
Иван
понаставят сериалайзеров, а потом разобраться с ними не могут
Иван
может проще сделать дто с публичными полями и нативно его в json?
Vlad
serializer ❤️
Юра
Equaliser
A
zalu*iser
A
Помогите плз по шаблонам twig.
Пример:
Шаблон - form.twig
<form>
...
{% block submit %}
<input value='submit'>
{% endblock %}
</form>
Шаблон - page.twig
{% extends 'base.twig' %}
{% block content %}
{% include "form.twig" %}
{% endblock %}
Вопрос, как в шаблоне page.twig переопределить блок submit, который подключается через инклуд ?
В разных местах пробовал писать, что-то не помогает...
Иван
A
(((
A
а как ,(
Юра
https://twig.symfony.com/doc/3.x/tags/embed.html
Юра
Вот так
Konstantin
чятик, привет. а вы тут, случайно, не знаете, можно ли каким-то костылем обойти это https://github.com/symfony/symfony/issues/45257 ?
Konstantin
я чот сдаюсь, идеи кончились
Иван
Konstantin
давай опустим необходимость использования атрибутов 🙂
Konstantin
не из реквеста, во-первых, а из Symfony\Bundle\FrameworkBundle\Controller::getUser
A
можно перехватить RuntimeException и выкинуть AccessDeniedException 😁
A
шутка, я симфони не знаю)
Konstantin
это где-то совсем в кернеле делать придется )
Konstantin
https://symfony.com/blog/new-in-symfony-5-2-controller-argument-attributes
Konstantin
дока как бы намекает, что таки можно так делать
Vlad
Konstantin
конечно, всё стоит и работает
Konstantin
стоит тайпхинт сменить на ?User - всё ок
Vlad
а почему не можешь закрыть эндпоинт фаерволом?
Konstantin
так не в том дело, похоже
Konstantin
сейчас падает лиснер на controller.arguments, он раньше секурити срабатывает, похоже
Konstantin
то есть сначала оно резолвит аргументы, потом передает управление дальше, в тч секурити лиснеру. и сейчас, при незалогиненном юзере, все аргументс резолверы, что могут отрезолвить User, возвращают нулл
Konstantin
и падает именно controller.arguments лиснер, не дойдя до секурити-лиснеров, которые уже мои is_granted, файрволлы итд проверят
Vlad
ох
Konstantin
я там могу ошибаться в названиях/событиях, но суть похоже такая
Vlad
не используй аттрибуты)))
Konstantin
да это понятно 🙂
Konstantin
меня слегка $this->getUser() задолбало (как минимум по причине неудобного мне тайпхинта + нуллабельности). хочется, чтобы юзер в контроллере был мой - App\Entity\User, а не UserInterface
Иван
а чем ?User не устраивает?
Konstantin
и чтобы в закрытых файрволлом методах контроллеров был юзер гарантированно (то есть User, а не ?User)
Konstantin
Иван
ну заткни ему рот
Konstantin
ну мне это не очень нравится, хочется иметь простой код с чистыми функциями
Konstantin
в целом инспекция на нуллабельность очень крутая, не хочется ей рот затыкать, она сильно выручает
Иван
у меня статанализ в одном месте с ума сходит
указываю тип - он орёт, что лишнее указание типа, и так ясно
убираю - орёт, что не указан тип
Konstantin
но похоже что так, тут нет вариантов, кроме ?User
A
А нельзя создать свою обертку, которая будет по методу getUser возвращать Обычного юзера, или выбрасывать access denied
Иван
Konstantin
да можно, но мне в целом getUser не очень нравится - хочется чтобы методы контроллеров были чистыми и на уровне типов понятными
A
Konstantin
если аргумент User нуллабельный - эта страница доступна и для авторизованных, и нет. если не нуллабельно - только для авторизованных