Иван
Alexander
Alexander
Есть remeber_me, соответствие токен-юзер из него вполне достается.
Иван
Alexander
Roman
Народ, подскажите плиз, как (и можно ли) в Symfony 5 сделать в роуте неопределённое число слагов?
Типа чтобы контроллер ловил и "/shop/electro" и "/shop/electro/venik" и "/shop/chainiki" и сдавал эти слаги в массив например?
꧁༒Dmitry༒꧂
Alexander
К одному экшену контроллера можно добавить произвольное кол-во аннотаций
Alexander
Либо указать '.*' в requirements к одному слагу и парсить его уже в контроллере
Alexander
https://symfony.com/doc/current/routing/custom_route_loader.html
Shokha
Заливаю проект на сервер!
Nginx+FPM
www.conf
Shokha
Shokha
Ошибка
Shokha
Unable to create the storage directory (/var/www/html/homevet/public_html/var/cache/dev/profiler).
Alexey Mishurovskiy
https://symfony.com/doc/current/setup/file_permissions.html
Alexey Mishurovskiy
Shokha
Alexey Mishurovskiy
Бэд практис чтобы юзер от которого работает веб сервер мог заходить по ssh
Shokha
Shokha
Alexey Mishurovskiy
Ну а внутри var что
Shokha
Alexey Mishurovskiy
Shokha
Alexey Mishurovskiy
ps | grep worker
Shokha
Alexey Mishurovskiy
ps | grep nginx
Alexey Mishurovskiy
А просто ps
Shokha
Alexey Mishurovskiy
Странно, я думал у тебя от другого юзера запущен nginx
Shokha
не знаю не сколько это правильно
- sudo nano /etc/selinux/config
- Edit the file by set SELINUX=disabled
- Restart again then it worked !
Shokha
но сработало
Katulos
Ну так, отключить selinux предлагают даже разработчики selinux
Иван
страннота
у меня валидатор не хотел валидировать, пока я доктрин аннотации явно не установил
хотя у меня констрейны в атрибутах
Alexander
Подозреваю что атрибуты живут в том же пакете, что и аннотации.
Иван
не, атрибут можно получить из рефлексии
а аннотацию только отпарсив коммент
можно предположить только, что в данный момент в атрибутах не все констрейны можно записать, но по моему это не повод не работать вообще
Alexey Mishurovskiy
продолжаю боросться со статой. запрос
SELECT u.email,
COUNT(distinct t.id) AS t_count,
COUNT(distinct c.id) AS c_id
FROM user u
Left JOIN terminals t ON u.id = t.user_id AND t.agent_id = 36
Left JOIN transactions c ON c.terminal_id = t.id
WHERE u.agent_id = 36
GROUP BY u.email
ORDER BY t_count DESC
работает корректно, однако не могу преврать его в Qb
Alexey Mishurovskiy
Alexey Mishurovskiy
уже как только не пробовал
HaSh
В указаниях значения параметров двоеточие не нужно.
Т.е.
->setParameter('userId', $agent);
Alexey Mishurovskiy
Ну тут проблема в другом, как отсортировать по количеству?
HaSh
Оно и быстрее и проще будет.
Alexey Mishurovskiy
Ага, а потом когда начнется фильтрация и сортировка...
Юра
Alexey Mishurovskiy
Having
а это все понятно.. я не понимаю как сделать сортировку по кол-ву в QB
Alexey Mishurovskiy
SELECT u0_.email AS sclr_0,
COUNT(DISTINCT t1_.id) AS sclr_1,
COUNT(DISTINCT c2_.id) AS sclr_2
FROM user u0_
LEFT JOIN terminals t1_ ON (u0_.id = t1_.user_id)
LEFT JOIN transactions c2_ ON (c2_.terminal_id = t1_.id)
WHERE u0_.agent_id = 36 AND (t1_.agent_id = 36 OR t1_.agent_id IS NULL)
GROUP BY u0_.email
ORDER BY sclr_2 DESC
Alexey Mishurovskiy
вот SQL который генерит доктрина
Alexey Mishurovskiy
он работает нормально
Alexey Mishurovskiy
последнюю строчку с Order я добавил уже руками в DB клиенте чтобы проверить
Alexey Mishurovskiy
мне из этого запроса на выходе надо получить DTOшку
Alexey Mishurovskiy
чтобы ее вывести в дизайне. QB еще использую по причине пагинации
Юра
Так а что не работает
Юра
У тебя dql и sql разные в плане ордер бай
Roman
Коллеги, подскажите, пожалуйста:
Используем HttpClient, нужно сделать запрос с клиентским сертификатом. Как только его ни пытались конвертировать, одна и та же ошибка: Problem with the local SSL certificate for ..... куда бечь и что копать?
Юра
Так и сделай ордер count....
Юра
Продублируй все выражение
Юра
Ну попробуй работает ли
Alexey Mishurovskiy
Alexey Mishurovskiy
SELECT u0_.email AS sclr_0, COUNT(DISTINCT t1_.id) AS sclr_1, COUNT(DISTINCT c2_.id) AS sclr_2
FROM USER u0_
LEFT JOIN terminals t1_ ON (u0_.id = t1_.user_id)
LEFT JOIN transactions c2_ ON (c2_.terminal_id = t1_.id)
WHERE u0_.agent_id = ?
GROUP BY u0_.email
ORDER BY COUNT(DISTINCT t1_.id) DESC
Юра
И че? Так не работает?
Alexey Mishurovskiy
работает ) а по производительности ORDER BY COUNT(DISTINCT t1_.id) DESC = ORDER BY sclr_1 DESC
Alexey Mishurovskiy
?
Юра
А что происходит если ты пытаешься запихнутл алиас в ордер бай?
Юра
Я не знаю что производительности
Юра
Может он оптимизирует
Alexey Mishurovskiy
Alexey Mishurovskiy
еще один плюс в пользу предагрегата
Юра
Так может надо выбрать энтити хоть одну?
Юра
А то в селект у тебя одни скаляры
Юра
А у тебя там дто
Юра
Хз я так никогда не делал
Alexey Mishurovskiy
у меня там ДТО
Alexey Mishurovskiy
мне энтити уже не нужна
Alexey Mishurovskiy
ну я горю, преагрегат меня спасет. пока просто отрубил пагинацию
Shokha
С какой-то новый версии можно было использовать а конфигах if else типа