Gas
$collection->slice(1,0) типа такого
посмотри $collection->matching($criteria)
Евгений
Евгений
нашел еще такое
Евгений
https://www.colinodell.com/blog/201703/limiting-subqueries-doctrine-2-dql
Gas
я б наверео последнюю координату в редундантно сохранял, что б не джойнить
Евгений
не думал, что такая, казалась бы простая задача, таким обернется, либо я просто чего-то не понимаю)
Gas
https://symfonycasts.com/screencast/doctrine-relations/collection-criteria в принципе, здесь есть решение. но проще в самой сущности выделить место
Maxim Kainov
Andrey
Здравствуйте, вопрос про БД: Есть сущность, у каждой записи есть поле состояния (инициализация, в работе, завершено). Как стоит хранить эти состояния, отдельной таблицей и записывать в сущность FK? Или хранить каким-нибудь string кодом, который парсить уже в сервисе?
Andrey
Первый вариант кажется более правильным с точки зрения нормализации БД
Andrey
Код состояния в любом случае придется парсить
Andrey
Кидать в фабрику, чтобы получить класс-обработчик состояния
Andrey
В этом смысле
Andrey
То что часть состояния и логики приложения хранится в БД. Интересно, какие существуют решения
Vadim
Первый вариант кажется более правильным с точки зрения нормализации БД
Смысл от вынесения отдельно статусов, если ты все равно изменяешь код (добавляешь обработчики)? Если бы не изменял, тогда ок, отдельно хранить было бы уместно, а так я не вижу смысла. Можно создать доктриновский тип, добавить в него енам твоих типов и кидать исключение, если суют не тот статус.
Dmitrij
привет всем. Мужики, как мне вынести в Контейнер следующий кусок кода: DriverManager::loadDriver(TelegramDriver::class); $this->botman = BotManFactory::create([ "telegram" => [ "token" => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ] ], new SymfonyCache($adapter)); чтоб я в любом месте могу в конструкторе Класса вызвать __construct(Botman $botman) и у меня все подтянулось?
Dmitrij
чет доку почитал, и вопросов стало еще больше чем до доки
Гречушников
токены складываешь в энв. создаешь в сервис.ямл свой сервис. запрашиваешь контейнер
Dmitrij
токены складываешь в энв. создаешь в сервис.ямл свой сервис. запрашиваешь контейнер
токены сложил, создал сервис... а как вкинуть в него нужные настройки ?
Dmitrij
Почитать документацию
https://symfony.com.ua/doc/current/components/dependency_injection.html ну как бы я тут покурил, но чет скудненько описано
Гречушников
неизменяемые настройки в сервис
Гречушников
что изменяется, то уже в рантайме
Гречушников
к документации надо привыкнуть. действительно сложно понять где что читать
Maxim Kainov
parameters: # ... mailer.transport: sendmail services: mailer: class: Mailer arguments: ['%mailer.transport%']
Maxim Kainov
Не оно?
Maxim Kainov
"Теперь вы можете устанавливать сервисы newsletter_manager и mailer, используя файлы конфигурации"
Dmitrij
Не оно?
хз как это использовать )
Dmitrij
"Теперь вы можете устанавливать сервисы newsletter_manager и mailer, используя файлы конфигурации"
а вот эта фраза в доке добивает больше всего, описания минимум, а потом в конце эта фраза )))
Гречушников
Дмитрий, нужно немного более глубокое изучение доки. там все есть. вы просто прыгнули сразу в огонь. начните сначала
Dmitrij
обьясню на пальцах, что мне нужно, может я просто мысли не могу структурировать... я хочу в конструкторе вызвать Botman $botman, при этом, чтоб у меня был вызван класс BotManFactory::create в который передан массив параметров
Dmitrij
как это описать в сервис.yaml симфы?
Maxim Kainov
Dmitrij
Дмитрий, нужно немного более глубокое изучение доки. там все есть. вы просто прыгнули сразу в огонь. начните сначала
та вот доку, строчку за строчкой читаю, и как странно описано всё, может потому что с ларкой сравниваю, там всё очень доступно описано, а тут кусками вбросы
Гречушников
да, после йии и ларки немного по другому воспринимается
Гречушников
telegram_service: class: Src\Common\Service\Telegram\TelegramService lazy: true arguments: - token: 'token'
Гречушников
примерно
Гречушников
токены лучше в энв
Dmitrij
telegram_service: class: Src\Common\Service\Telegram\TelegramService lazy: true arguments: - token: 'token'
таким образом в конструктор TelegramService будет передан параметр token ?
Maxim Kainov
да, после йии и ларки немного по другому воспринимается
Хз, по моему, наоборот, по симфони самая четкая документация. По крайней мере новая, на английском которая.
Гречушников
в ларе идеальная документация. я первое время на симфониевскую матерился
Maxim Kainov
ParameterBagInterface
Dmitrij
Используй параметры лучше
ну у меня сейчас токены в параметрах и лежат, только хз как к ним доступ получить откуда то кроме контроллера )
Maxim Kainov
На русском дока устаревшая
Dmitrij
На русском дока устаревшая
я книгу нарыл по симф 5 уже на русском, но даже там скудненькое описание (
Dmitrij
ParameterBagInterface
ага, а если это нужно прокинуть через DI ?
Dmitrij
или он подхватывает ?
Maxim Kainov
Автовайринг
Dmitrij
ага, ща попробую
Maxim Kainov
Сам прокидывает
Гречушников
а у меня его даже нету (
Dmitrij
ParameterBagInterface
спасибо, подхватил )))
Dmitrij
в целом пазлик складывается, спасибо, сейчас попробоую дособрать )
Maxim Kainov
Гречушников
монстр из легаси и 3.2
Maxim Kainov
спасибо, подхватил )))
https://symfony.com/doc/current/configuration#accessing-configuration-parameters
Maxim Kainov
Там внизу описание
Dmitrij
https://symfony.com/doc/current/configuration#accessing-configuration-parameters
Вот вот. А откуда берётся ‘mailer_sender’ как то забыли упомянуть
Dmitrij
И сиди гадай как его сделать чтоб и твой сервис так же вызвался
Maxim Kainov
Вот вот. А откуда берётся ‘mailer_sender’ как то забыли упомянуть
Там написано же, что из параметров берется
Maxim Kainov
Controllers and services can access all the configuration parameters. This includes both the parameters defined by yourself and the parameters created by packages/bundles.
Maxim Kainov
Кто то читать не умеет
Maxim Kainov
И еще ссылка на описание парамеиров https://symfony.com/doc/current/configuration#configuration-parameters
Maxim Kainov
Все есть
Dmitrij
Там написано же, что из параметров берется
Может я хер знает куда смотрю , но на этой странице в параметрах не описан mailer_sender
Dmitrij
Потому что это название параметра
Так а где он описан? Что мы получим при вызове ‘’’ $this->params->get('mailer_sender'); ‘’’ Я просто набирал этот код все по доке пытался делать, у меня ошибка
Maxim Kainov
Any container parameter там написано в комментарии над этой строчкой
Maxim Kainov
Жесть, как еще подробнее можно написать...
Гречушников
первый раз с этим сложно разобраться, потом уже понятно что куда