Roman
Всем привет. Подскажите, запутался - где и как включается second level cache? на оф сайте что-то ничего нет про это. Задача - кешировать результаты запросов.
Юра
Юра
https://symfony.com/doc/current/reference/configuration/doctrine.html
Roman
оо, спасибо
Roman
что-то не помогает, в счетчиках как были нули, так и есть. В коде дополнительно нужно что-либо где-то прописывать?
Юра
Та вроде нет
Roman
Странно, почему не использует кеш тогда
Юра
$query->enableResultCache()
Юра
А это есть у тебя?
Roman
return $q->getQuery()->enableResultCache(60*60)->getResult();
Roman
похоже, что есть...
Roman
единственное что, я адаптер редиску поставил. Сейчас попробую в дефолт скинуть
Roman
неа... в доктрине все так же по нулям
Roman
при этом на отдельных запросах вроде что-то начало работать
Roman
если по разделам походить
Юра
Мод у тебя там даты какие-то используются иди динамические параметры
Юра
И вообще поставь варниш и не придумывай )
Юра
Сложно сказать что тас не так. Я в доке доктрины вижу намного больше параметров конфигурации кеша чем в симфлнийском конфиге
Roman
Alexander
А че так можно было?
Maks
Микаэл
Прошу прощения, не знал) может есть чаты, где можно приглашать компетентных разработчиков симфони в команду?)
Shokha
Roman
а можно что? )
Дмитрий
что происходит? )
Roman
я тож не пойму :)))
Alexander
Alexander
Опытные симфони разработчики в день получают по 10 предложений, ваше не показалось мне интересным.
artem
всем утро) что ставить для редиски?
artem
щя документы пишу) давно редиску не юзал. хочется через доктрину
Юра
redis cache adapter
Roman
привет всем. Есть шаблон twig, который в цикле вызывает адовое кол-во include других шаблонов (карточки объектов). Можно ли это как-то ускорить? на ~500 объектов аж 42 секунды формируется страница... пагинация не очень подходит. Можно ли средствами twig решить вопрос?
Vlad
Vlad
Ну и скорее всего у тебя много запросов в бд
Roman
Vlad
Если в шаблонах подгружаются данные, значит ты делаешь что то не так
Roman
Alexander
Roman
Alexey Mishurovskiy
Всем привет. как отключить i18n роуты для api?
Alexey Mishurovskiy
А то вот такая хрень происходит
Alexey Mishurovskiy
Alexey Mishurovskiy
Если я из второго определения убираю prefix то добавляется 3-й роут.
exclude почему то не работает
Alexey Mishurovskiy
Еще вопрос - кто работал с динамической схемой ? то есть есть объемт ответа, в нем поле data и надо сваггеру подсовывать нужных объект в аннотации котроллера. не могу понять как это сделать и можно ли в приницпе
Vlad
Alexey Mishurovskiy
Спасибо, дошел уже сам почти до этого
Alexey Mishurovskiy
а какая аннотася у $items?
Vlad
Alexey Mishurovskiy
ответ у меня выглядит вот так :
Alexey Mishurovskiy
где то у меня логика ломается. не могу понять где
Alexey Mishurovskiy
Огонь, получилось! @haidukua спасибо большое
Alexey Mishurovskiy
Denis
всем привет!
кто знает почему доктрина возвращает массив вместо объекта?
Vlad
Посмотри на select и подумай
Denis
Посмотри на select и подумай
да там опечатка на скрине, но она ни на что не влияет.
Судя по всему в доктрине это делается через ж: https://stackoverflow.com/questions/24039101/fetch-highest-id-from-database-via-doctrine - это мне помогло.
Vlad
Vlad
Если сильно хочется получить объект, то можно завернуть в dto
Vlad
https://www.doctrine-project.org/projects/doctrine-orm/en/2.9/reference/dql-doctrine-query-language.html#new-operator-syntax
Denis
Andrey
Andrey
И массив возвращает?
Andrey
А если через репозиторийтот же запрос будет? (мысли вслух)
Denis
нет это возвращает объект.
Как я выше написал, мне помог ответ со stackoverflow.
вопрос решен спасибо.
Andrey
Но звучало так, словно без второго селекта тоже массив
Andrey
У объекта нет max, потому теье и не возвращало. В общем сам себе проблему придумал)
Alexey Mishurovskiy
А зачем это вот все ?
Alexey Mishurovskiy
$result = $this->getEntityManager()->getRepository(UserDoctorRecommendationExtractionLog::class)
->orderBy('t.lastExtractionAt', 'DESC')
->setMaxResults(1)
->where('t.userId = :userId')
->setParameter('userId', $userId, ParameterType::INTEGER)
->getQuery()
->getOneOrNullResult();
Не проще ?
Alexey Mishurovskiy
и доктрина все сделает сама
Alexey Mishurovskiy
Вопрос. как перед денормализацией автоматически прогнать перобразование данных?
Кейс - есть номер телефона, который в сущность User надо загнать в нормализованном формате (libphonenumber).
Думал есть callback для дернормализации, но нет, он только для нормализации.
Про сохранении сущности в БД это делается у меня в Doctrine Events.
Но при этом не проходит валидация, например UniqueEntity из-за неправльного формата не находит запись в БД
Eldar
Еще бы сложнее описал проблему
Alexey Mishurovskiy
Если проще - как организовать DataTransformer как в формах, только в сериалайзере
Alexey Mishurovskiy
У любой сущности, если у нее поле phone нужно его програть через нормализатор телефона
Алексей Анатольевич
Нужен совет. Решил вынести некоторую логику за пределы контроллеров, в некий общий сервис. Столкнулся с проблемой переноса создания форм. Точнее метод createForm() принадлежит только AbstractController классу. Там форма билдится как`$this->container->get('form.factory')->create()`. Как быть? Не могу вникнуть и понять как мне вытащить нужные классы в сервис.. или я уже тупить начал..
Dmitry
Dmitry
Shokha
Вот вопрос по инжектить
Shokha
Сколько классов можно инжектить в конструкторе?
Dmitry