The Ant
А в чем проблема с показом 3 последних комментов?
Я про обзорку, где листинг н постов
Юра
Мне кажется комментарии лучше грузить отдельными Аякс запросами
Юра
Иначе вся страница будет тупить
Павел
Я про обзорку, где листинг н постов
Ну это да, там наверное через оконные или еще что. Чет сходу sql не могу представить
Павел
Еще можно почудить с номерами)) что в принципе решение
Павел
Хранить в посте порядковый номер последнего коммента в рамках этого поста, а потом выгребать number > max -3
Юра
Может сразу в посте хранить джсон с последними тремя комментами? )
Павел
Наверное это даже оптимально с точки зрения read нагрузки
Павел
Или просто ids где то
Юра
Но вообще да в таким задачах денормализация часто бывает необходимой
Юра
Чтобы базу не насиловать каждый раз если страница сильно посещаемая
Ортонормированная
https://pastebin.com/ZgahUzPk ошибка create table if not exists public."user" ( id integer not null primary key, username varchar(255) not null, email varchar(255) not null, password varchar(255) not null ); в базе вроде такая ddl, все ок что не так?
Михаил
Мы же про бд говорим
Ортонормированная
Мы же про бд говорим
ну в бд он мне создал таблицу, смигрировал
Виктор
Думаю, Михаил может быть прав. У меня была какая-то проблема с таблицей user в PostgreSQL. Может не точно такая, но тоже таблица создавалась, а потом начинались проблемы. Помогло добавление вот такого атрибута классу User: #[ORM\Table(name: '`user`')] Он говорит Doctrine о том, что нужно эскейпить имя таблицы.
Михаил
ну в бд он мне создал таблицу, смигрировал
Ну попробуй выполнить SELECT * FROM user на твоей бд. Или через доктрину выполни как сырой запрос.
Михаил
По правилам именования запрещается использовать множественные числа в названиях https://www.sqlstyle.guide/#avoid Так что 2 варианта, или как Виктор сказал - добавить экранирования или переимновать таблицу в customer или admin в зависимости кто является пользователем вашего сервиса
Михаил
А щеё в доктрине есть префиксы, они описываются глобально и добавляются автоматически. Проблемы могут возникнуть если вы сырой sql пишете
Михаил
прям запрещается?
я в карцере сидел 15 суток за то что в институте название таблицы в множественную форму поставил
Вадим
понял
Вадим
помню в ларе была какая-то магия с множественными числами, а я уже назвал сущность staff. Пришлось созывать внутренний консилиум чтобы разрешить себе использовать staffs там где нужно было
Вадим
так что оно тоже не всегда везде однозначно
Михаил
Ну меня вот учили что в единственном числе. Ещё это прослеживается в именовании модулей. Обычно пишут Controller, DataProvider. Поэтому просто запоминается что и название таблицы в единственно числе
Михаил
Тут скорее правило бритвы Оккамы. Если название таблицы, модуля, класса во множественном и в единственном числе не искажает смысл этой сущности, то лучше писать в единственном
Kirill
не, названия таблиц в множественном как раз
Kirill
потому что там много этих фиговин)
Павел
не, названия таблиц в множественном как раз
Спорно как одно так и другое (сам пишу в множественном). Разный стиль есть, даже в разных доках по разному. https://www.sqlstyle.guide/ru/#%D0%BF%D0%BB%D0%BE%D1%85%D0%BE%D0%B9-%D1%81%D1%82%D0%B8%D0%BB%D1%8C https://www.w3schools.com/mysql/mysql_create_table.asp
Павел
Например та же симфа сейчас по дефолту в единственном числе делает
Михаил
потому что там много этих фиговин)
Ну только ради того, что бы не пересекаться с встроенными именами ставить всё во множественное?
The Ant
не, названия таблиц в множественном как раз
А потом мучаются с названиями классов в эктив рекорде 😄
Kirill
класс в единственном, а табилцы генерит во множественном)
Павел
Взять ПГ - там системные таблицы в единственном сисле, взять кликхаус - множественном
Вадим
Бардак кароч
Jocker
7 5 7 6
Михаил
Лол, бот ввёл капчу но сделал это с пробелами)
Ортонормированная
Почему тут запрос проходит, а тут пишет что нет id? UserEntity: https://pastebin.com/VE73FZVW
Ортонормированная
Nikolay
Потому что типы в gql надо проверить
Ортонормированная
Потому что типы в gql надо проверить
Вроде все ок Entity приложил.
Nikolay
Вроде все ок Entity приложил.
У тебя сверху рест запрос, а ниже gql
Павел
Ну и да gql vs rest. Но это наверное апи платформа и поддерживает оба
Павел
Тут на одного юзера и надо передать id в аргументах query{ user( id: 1 ){ username } }
Михаил
а где у меня множественные числа?
а я не говорил что у тебя множественные числа
Павел
Смотрите спеку настроек апи платформы.
Павел
Минимум запрос уже проходит мимо gql
Павел
Может юзера такого нет, а может еще что
Ортонормированная
юзер такой в базе есть
The Ant
Ля зачем вставлять в доку пример, который не работает? Я про https://symfony.com/doc/current/service_container/tags.html#reference-tagged-services
Павел
Ты может опять с своими модулями запутался?
Павел
юзер такой в базе есть
По доке апи платформы надо прописывать вот так
The Ant
Работает, я делал)))
Я про кусок с $services->set(App\HandlerCollection::class) // inject all services tagged with app.handler as first argument ->args([tagged_iterator('app.handler')]) ;
Павел
Так что курите доку :)
The Ant
Там ошибка в хендлер коллекшн, что тип не указан, укажите явно
The Ant
А с атрибутом работает... Как обычно )
The Ant
С атрибутом делал?
Павел
С атрибутом делал?
Атрибуты, ямл
Михаил
The Ant
У меня ямл ток на пакаджах
Михаил
Единственное тип вроде не iterable а Traverseble желательно, но так всё ок
Павел
Возможно там users. Курите доку и разные варианты
The Ant
Сорян за фотку, телегу ещё не ставил )
Михаил
Сорян за фотку, телегу ещё не ставил )
Может кеши почистить По крайней мере с tagged iterator работает
Vlad
Сорян за фотку, телегу ещё не ставил )
тебе пишут, что ты должен явно указать значение. Конфиги твои не схватились или кеш старый
Михаил
Возможно там users. Курите доку и разные варианты
А через bin/console debug:router это можно будет проверить?
Михаил
Или они динамические? Через листенер работают?
Павел
А через bin/console debug:router это можно будет проверить?
Скорее всего можно, но опять же там будут обычные роуты для реста. Какой формат gql + uri платформы уже вопрос