
Вадим
24.11.2017
08:11:35

$iD
24.11.2017
08:12:00
тебе видней как там у тебя логика будет, и будет ли у тебя там 1000-2000 записей
можно сделать билдер сучности... т.е. отдельно достать u, отдельано достать все мессаджы и потом запихать через addMessage в цикле

Вадим
24.11.2017
08:13:31

Google

$iD
24.11.2017
08:13:33
будет два отдельных запроса
у нас в некоторых говно случаях с большим кол-вом джойнов именно так и поступили, как я описал выше

Вадим
24.11.2017
08:14:21
Проще тогда setCount сделать )
Мож есть в доктрине какой-то гидратор для этого, который я не смог найти? )

$iD
24.11.2017
08:15:35
напиши свой ))

Вадим
24.11.2017
08:15:50
@fes0r Можешь подсказать, как правильно, и куда рыть? )

Bohdan
24.11.2017
08:15:51
продублирую
vps по бросовым ценам на 3 месяца нужны кому-то?

Вадим
24.11.2017
08:16:31
напиши свой ))
Я уже этот этап прошел ) "Все сделано плохо, лучше свое напишу" )

$iD
24.11.2017
08:17:26
ты всёравно будет писать свой вариант
и так и так
так что этап ты этот не прошёл :D

Yuriy
24.11.2017
08:17:43
доброе утро, прошу прощения что влезаю в Ваши оживленные дебаты, буду благодарен если сможете подсказать варианты решения
у меня есть категории и товары которые имеют алис, требование безнес логики формировать урлы вида
domen/category
domen/product
создал сущьности категории и продуктов вот возникла сложность как настроить роуты?
т.к. под шаблон
/{slug}
попадают и одни и другие, как указать порядок проверки? (использую анотации)
предполагаю что в приоритете нужно проверять наличие категории, если такой нет искать продукт, если и его нет только потом выводить 404.
Как вариант могу выполнять редирект на продкт если категория не найдена, но смущает что будет выполнятся никому не нужный редирект при открытии страницы любого продукта

Google


Вадим
24.11.2017
08:19:27
так что этап ты этот не прошёл :D
Мдя ... какбы задача в частая, мне бы интересно в сути разобратся, почему работу с агрегационными полями сделали так, что ее решение выглядит мягко говоря, плохо )
доброе утро, прошу прощения что влезаю в Ваши оживленные дебаты, буду благодарен если сможете подсказать варианты решения
у меня есть категории и товары которые имеют алис, требование безнес логики формировать урлы вида
domen/category
domen/product
создал сущьности категории и продуктов вот возникла сложность как настроить роуты?
т.к. под шаблон
/{slug}
попадают и одни и другие, как указать порядок проверки? (использую анотации)
предполагаю что в приоритете нужно проверять наличие категории, если такой нет искать продукт, если и его нет только потом выводить 404.
Как вариант могу выполнять редирект на продкт если категория не найдена, но смущает что будет выполнятся никому не нужный редирект при открытии страницы любого продукта
Если аннтоации, метод который описан выше будет первым, а так то вынеси роутинг в конфиг, и будешь из конфига управлять приоритетом.


Yuriy
24.11.2017
08:24:48
дамал о чем то подобном, но как правильно это реализовывать может есть кая то подходящая стать или реальный пример из гитхаба?

Sergey
24.11.2017
08:28:10

Yuriy
24.11.2017
08:30:33
по таком принципу работае оперкарт, да тоже вариант, спасибо

Sergey
24.11.2017
08:56:23

Вадим
24.11.2017
08:59:58
Для каждого пользователя, количество контактов разное )

Sergey
24.11.2017
09:01:27
SELECT new UserDTO(
u.id,
u.name,
(SELECT COUNT(c) FROM Contact c WHERE c.user=u )
)

Urmat
24.11.2017
09:01:50
Народ, можете постоветовать хороший бандл для статических страниц, блогов новостей?

Sergey
24.11.2017
09:02:21

Urmat
24.11.2017
09:02:42

Sergey
24.11.2017
09:02:46
или возьми какую-нибудь headless cms и вжух

Urmat
24.11.2017
09:03:01
вордпресс
Я имел ввиду, с возможностью интеграции в проект на симфони

Sergey
24.11.2017
09:03:06
https://github.com/contentful/ContentfulBundle
сонаты всякие есть, и прочией адовые вещи. Можно юзать админку как сервис или внешнюю cms которая отдельно стоит а контекнт симфоней отображать

Вадим
24.11.2017
09:04:30

Sergey
24.11.2017
09:04:32
короч вариантов как грязи

Google

Sergey
24.11.2017
09:04:49

$iD
24.11.2017
09:04:57
:D

Sergey
24.11.2017
09:05:17
так что для твоего случая и count на коллекцию сойдет
:D
к слову неплохо выглядит

$iD
24.11.2017
09:06:00
я бы не трогал вротпресс

Вадим
24.11.2017
09:06:04

$iD
24.11.2017
09:06:12
за ним нужно очень сильно следить либо ставить изолированно в том же контэйнере

Urmat
24.11.2017
09:06:22

Sergey
24.11.2017
09:06:58
и много кто еще

Вадим
24.11.2017
09:10:45
ну ты подумай, как рабртают агрегации?
Агрегация по сути результат обьединения. Но я к тому, что на sql это просто выглядит "select *,COUNT(contacts.id) as cnt from user left join contacts on... group by user.id" , я думал мож есть возможность какая-то мапить поля агрегации, или например в тот же ДТО передать саму ентити и + доп. поля

Sergey
24.11.2017
09:12:36
ну так и юзай sql если можешь написать запрос) в этом ничего зазорного нет. Окромиус тебя бы вообще зауважал бы

Вадим
24.11.2017
09:13:47

Sergey
24.11.2017
09:17:17

Alex
24.11.2017
09:36:19

Daniel
24.11.2017
09:46:41
Когда то была дискуссия, чо делать, если em closed в консумере. Даете спокойно падать или рекконект в самом начале по необходимости?

Sergey
24.11.2017
09:47:47

Bohdan
24.11.2017
14:32:23
как правильнее сделать с tagged services?
мне нужно регистрировать их в другом сервисе
вижу два варианта: передавать массив их ID и контейнер или передавать уже инстанцированные (но как правильно их инстанцировать во время компайлер пасса?)

Google

Sergey
24.11.2017
14:35:37

Bohdan
24.11.2017
14:35:48
массив референсов ок?

Sergey
24.11.2017
14:37:30
это ж компайл пас
ты там работаешь только с сервис дефинишенами

Bohdan
24.11.2017
14:37:43
да

Sergey
24.11.2017
14:38:05
так что да, либо массив референсов либо массив вызовов методов куда будешь эти референсы передавать.
примеры ж есть в доке

Bohdan
24.11.2017
14:38:27
принял, спасибо

Admin
ERROR: S client not available

Bohdan
24.11.2017
14:38:43
как не так давно обсуждали - дока не всегда говорит, как правильно)

Andrey
24.11.2017
15:01:44
Почему в многих бандло-доках все нормально расписывают доку за аннотации, а на yml ложат?
Неужели есть такая ломка у всех на аннотации?

Arky
24.11.2017
15:02:52
аннотации рулят)

Andrey
24.11.2017
15:04:50
не, поверь)

Andrew
24.11.2017
15:12:10
не, поверь)
не очень верю) Я еще понимаю xml, но в чем прикол ямла?
у нас хедхантеров прибыло :)

Andrey
24.11.2017
15:12:54
Привет, ты в чс
у нас хедхантеров прибыло :)
смысл не в ямле даже, а в том, что игнор. В лучшем случае все ключи пропишут возможные, но не опишут
не очень верю) Я еще понимаю xml, но в чем прикол ямла?

Bohdan
24.11.2017
15:18:55

Google

Arky
24.11.2017
15:25:12
@fes0r Я пофиксил ишусы номер 3 и 5?)

Bohdan
24.11.2017
15:42:20
в продолжение моего прошлого вопроса
правильно ли добавляю тег к сервису во время компайлер пасса?
$definition = $container->findDefinition($id);
$definition->addTag('my_tag');
$container->setDefinition($id, $definition);
проблемос в том, что в кеше сервис регистрируется все же без тега, который нужен мне
остается только тот, который был там раньше

Vladislav
24.11.2017
15:44:33
а компайлер пас как добавляешь? там есть 5 моментов когда он запустится
до отимизации, после и тд

Bohdan
24.11.2017
15:46:36
before_removing
ща попробую другие варианты
бинго, во время оптимизации - заработало
спасибо

Vladislav
24.11.2017
15:49:40
?

Arky
24.11.2017
16:30:04
@fes0r Это считается за пагинацию?)
$dql = "SELECT m FROM AppBundle:Message m";
$query = $em->createQuery($dql)
->setFirstResult(0)
->setMaxResults(100);
$paginator = new Paginator($query);
$c = count($paginator);
foreach ($paginator as $message){
$jsonResponse = $serializer->serialize($message,'json');
$response = new JsonResponse();
$response->setContent($jsonResponse);
$response->sendContent();
}
exit();

Sergey
24.11.2017
16:30:48
$paginator = new Paginator($query);
вот это зачем тебе?
foreach ($paginator as $message){
и это
exit(); - ты серьезно?
->setFirstResult(0)
->setMaxResults(100);
но страницу ты не выбираешь

Arky
24.11.2017
16:36:48

Sergey
24.11.2017
16:43:20
страницу в чате?)
представь что у тебя в чате 10 000 сообщений. ты их будешь все грузить или по частям?