Иван
по крайней мере это ложится на индекс а вот сортировка по абсолютной разнице может уйти в фулскан и сортировку
Юра
Это и есть юнион сразу по дате
Nikolai
Так в таком случае не нужен дифф )
ну юнион да, а почему не нужен diff? надо же для union списка применить сортировку по ближайшей дате
Nikolai
тип как тут, только с датами https://stackoverflow.com/a/595691
Юра
ну юнион да, а почему не нужен diff? надо же для union списка применить сортировку по ближайшей дате
Ну ты в первом запросе выбираешь date <= .. order by desc, а во втором date >= ... order by asc
Юра
И зачем там дифф вроде не нужен
Юра
Только сортировки наоборот ) поправил
Nikolai
потому что для каждой стороны ты выбираешь не 5 элементов, а 11 с каждой стороны. Ведь на одной стороне по факту может быть больше ближайших чем с противоположной. Поэтому дифф и нужен
Юра
А я в пхп потом это обработал
Nikolai
1 2 3 4 5 6 7 8 9 10 20 30 40 50 60 70 вот найди тут ближайшие 4 числа к числу 10)
Nikolai
А я в пхп потом это обработал
ну или так, просто речь шла об sql
Иван
так то можно и всю таблицу в пхп выгрузить, отсортировать, двоичным поиском найти ближайшую дату, а потом в обе стороны от неё отсчитывать нужное количество
Nikolai
пахнет рекурсивным запросом
А рекурсию можно создать без использования процедуры?
artem
ОДМИН! Прошу обявить четверг днём sql
artem
Включая dql
Artem
Вопрос по api-platform, столкнулся с такой же проблемой, как в https://github.com/api-platform/api-platform/issues/1133 (при jsonapi не генерируется Example value в правильном формате) Какой правильный путь решения проблемы или куда рыть?
Юра
Вообще это будет полезно написать свагер декоратор или процессор потому что скорее всего рано или поздно оно понадобится
Юра
Ты там можешь менять схему как угодно
Artem
Свагер декоратор пишут
Спасибо большое!
Юра
По-моему там есть какая-то аннотация которач позволяет прописать кастомные свагер проперти. Но я не уверен
Artem
По-моему там есть какая-то аннотация которач позволяет прописать кастомные свагер проперти. Но я не уверен
#[ApiProperty(openapiContext: [ 'type' => 'string', 'format' => 'date-time'] )] https://api-platform.com/docs/core/openapi/#using-the-openapi-and-swagger-contexts Про это имеешь ввиду?
rekhlitskyi.dmytro
Всем привет , не могу решил проблема , вот такая ошибка - Object of class DateTime could not be converted to string Вот код модели /** * @param \DateTime $yearOfPub * @return $this */ public function setYearOfPub(\DateTime $yearOfPub) { $this->yearOfPub = $yearOfPub; return $this; } /** * @return \DateTime|null */ public function getYearOfPub() { return $this->yearOfPub; }
rekhlitskyi.dmytro
и еще форма ->add('yearOfPub', DateType::class, [ 'widget' => 'single_text', 'format' => 'yyyy-MM-dd', 'required' => false, ])
rekhlitskyi.dmytro
ну и вьюшка если нужно
rekhlitskyi.dmytro
<div class="form-group d-flex {{ form.yearOfPub.vars.errors|length > 0 ? 'has-error' : '' }}"> {{ form_label(form.yearOfPub) }} <div class="form-group-control"> {{ form_widget(form.yearOfPub, {attr: { value: app.request.request|length > 0 ? bookLibrary.yearOfPub : '' }}) }} {{ form_errors(form.yearOfPub) }} </div> </div>
Artem
Да
Понял, немного другое дает. Попробую через декоратор как-нибудь допилить. Через процессор не уловил идею
Юра
Понял, немного другое дает. Попробую через декоратор как-нибудь допилить. Через процессор не уловил идею
Ну сам пхп свагер это называет процессоры, а апи платформ наверное декораторы
artem
и еще форма ->add('yearOfPub', DateType::class, [ 'widget' => 'single_text', 'format' => 'yyyy-MM-dd', 'required' => false, ])
->add('yearOfPub', DateTimeType::class, [ 'widget' => 'single_text', 'required' => true, 'html5' => false, 'input' => 'datetime', 'with_seconds' => false ]) у меня так работает
Pavel
Помогите пожалуйста, на Api-platform 3 в state provider не могу понять как мне получить коллекцию сущностей, чтобы трансформировать ее в выходной dto. Декоратор @api_platform.doctrine.orm.state.collection_provider возвращает инстанс ApiPlatform\Doctrine\Orm\Paginator.
Pavel
И тут знак вопроса) значит провайдер не отработал
если оставлять в provide() return this->collectionProvider->provide() то вылетает ошибка, что дто класс - не ресурс, что как бы правда. Но он и не должен быть таковым. А сам метод collectionProvider->provide() возвращает ApiPlatform\Doctrine\Orm\Paginator. И вот возникает вопрос, как мне получить целевые сущности, которые я смогу преобразовать к outputDto?
artem
@admin он круто знает дто. Я тут без 100 грамм не разберусь))
Юра
Ну надо же зп отрабатывать, вот и гоняют туда сюда дто
Юра
Наверное тебе надо гуглить как работать с дто в апи платформ
Pavel
Не очень понимаю про что вы говоря "гоняют туда сюда" У меня в выходное дто, имеет часть уникальных полей которых нет в сущности и они вычисляются при запросе. С 2.6 платформой проблем не было, засунул в трансформер и все работает, с 3 версией - какие то танцы с бубном
Pavel
Если вопрос мне, то да
Юра
Почитай может ченджлог третьей версии, может там что-то полезное написано
rekhlitskyi.dmytro
Всем привет , у меня есть форма , где есть поле для даты , я получаю информацию из бд и хочу вывести ее в поле , value подставляется такое 18-12-2022 , но почему форма все равно пустая
rekhlitskyi.dmytro
я тут указываю такой формат
rekhlitskyi.dmytro
rekhlitskyi.dmytro
rekhlitskyi.dmytro
то ругается что не может превратить. Object of class DateTime could not be converted to string
rekhlitskyi.dmytro
Решел , поменяв местами yearOfPub|date('Y-m-d')
Null
Подскажите. Аутентификатор извлекает некие данные из реквеста. Как их дальше в контроллер передать? Сейчас я просто в атрибуты реквеста их дописываю. Это нормальное решение?
Юра
Кто как делает миграции которые не связаны с бд?
Юра
Нормально ли в доктрин миграции сделать что-то не связанное с бд?
Юра
А какие альтернативы?
Юра
Писать велосипед?
Павел
А какие альтернативы?
Команда например изапустить вручную или вставить ее на 1 раз в ci
Павел
Вам для чего в миграции писать что-то ? Чтобы запустить 1 раз или что?
Юра
Ну вручную если например у тебя 20 проектов не очень подходит
Юра
Интересует полностью автоматический способ
artem
Костыльно очень. Подпишусь выше. Лучше командой. Имхо, если единожды словарь заполнить то норм
Павел
Проблема нахождения логики (кода и классов из приложения) в миграциях, что код может устареть и его надо там поддерживать, чтобы можно было поднять проект с 0 а не дампа
artem
Пздц у вас проблемы. Вы бы ногти на правой руке попробовали подстричь)))
artem
Не уловил мысль)
Та просто как раз в это время стриг ногти) есть такой прикол что это самое сложное))
rekhlitskyi.dmytro
Всем привет, вот у меня есть форма в ней создал ->add('media', ChunkType::class) Media это у меня другая таблица со связью Я хочу сделать на фронте сначала загрузку картинки а потом файла Но если отображать этот виджет еще раз то он ругается что он уже используется, как можно решить ?
Null
Популярная шутка. Не использовать формы. Они не оч
Nikolay
Vite4eg
А что использовать?
Nikolay
А что использовать?
Разделение фронта и бека, но это не везде. Так что приходится работать с тем, что есть
Null
А что использовать?
Разделение Бека и фронта, ага. Симфони как рест апи. Шоб не было всяких костылей типа твиговского спагетти, форм, энкора (будь он не ладен)
Юра
Твиг обречён
Юра
Пишешь сначала фронт, а потом делаешь из него SSR рендеринг который так же рендерит на сервере только теперь вместо твига у тебя миллион новых концепций )