Maxim Kainov
А у транслейшена тогда поле типа class все равно нужно будет
Сергей
А у транслейшена тогда поле типа class все равно нужно будет
Надо завтра обмозговать. Может class и не нужен. Раз там refid это uuid
Maxim Kainov
По ходу проще всего в разных таблицах делать переводы
Сергей
По ходу проще всего в разных таблицах делать переводы
Да там не очень тривиально. У переводов еще версии есть. Если в разных таблицах их хранить, к каждой придется версию цеплять
Maxim Kainov
Надо завтра обмозговать. Может class и не нужен. Раз там refid это uuid
Не, у тебя у каждой переводимой ентити промежуточная таблица появится, и тогда по каждой придется искать уид
Maxim Kainov
/** * @var Image[]|Collection * * @ORM\ManyToMany(targetEntity="App\Entity\Image", cascade={"persist","remove"}, orphanRemoval=true) * @ORM\JoinTable(name="product_image", * joinColumns={@ORM\JoinColumn(name="product_id", referencedColumnName="id")}, * inverseJoinColumns={@ORM\JoinColumn(name="image_id", referencedColumnName="id", unique=true, onDelete="CASCADE")} * ) */ private $images;
Максим
@Cawa87
Aleksandr
+
alex
Привет! есть три таблицы Users, Comments, Likes. Юзер может иметь много коментов, каждый комент много лайков. Могу на модели Users определить свойство Likes и получать $user->getLikes()?
alex
Привет. Да 🙂
не подскажешь как?
Roman
через репозиторий, например, написать метод, возвращающий искомое
Roman
должны быть relations определены
Юра
А в чем проблема
Юра
Получил все коменты и у них все лайки
Юра
Если это частая манипуляциия я бы у ЛАЙКА создал еще поле user
Юра
Чтобы прямая связь была
Юра
Немного денормализации
Roman
Если это частая манипуляциия я бы у ЛАЙКА создал еще поле user
Можно и так, если требуется часто получать кол-во лайков.
Roman
чтоб не джойнить три таблицы
std::mechanicus
а чё там у скиллбокса? А то я слышал у них немного стрёмный преподсостав
Andrei
Коллеги, подскажите за Doctrine Migrations. надо создать jsonb колонку, $dataSetTable->addColumn('"spotFilter"','json_array',['jsonb' => true]); Один хрен создает просто json
Andrei
оно вообще так может?
Maxim Kainov
Коллеги, подскажите за Doctrine Migrations. надо создать jsonb колонку, $dataSetTable->addColumn('"spotFilter"','json_array',['jsonb' => true]); Один хрен создает просто json
Доктрина вроде не поддерживает это поле. На до свой тип создать. Ну и jsonb и запросы делать не получится через доктрину. Но это не точно. Короче, лучше таблицу создать.
Maxim Kainov
Или просто поле с json
Andrei
Да хрен с ней доктриной. я от нее только DBAL взял, и в Slim 4 прикрутил =) Лан, будем мутить свой тип. Просто в примерах где-то натыкался на 'jsonb' => true, но у меня не сработало. просто json не очень канает, когда надо использовать его части, например индексы строить и т.п.
Andrei
Зачем slim? Почему симфони с доктриной не взять? Столбцы сделай и по ним индексы строй )
не, для моей задачи нафиг этот паровоз. У меня микросервис
Andrei
Да нафига мне доктирна, когда нужен QueryBuilder только
Maxim Kainov
Andrei
А зачем она если она не будет использоваться)
Anonymous
Спасибо большое
Dmitriy
Привет всем.
Dmitriy
расскажите, а зачем middleware?
Daria
расскажите, а зачем middleware?
В каком контексте "зачем middleware"?
Dmitriy
ну в прямом.. в yii вот нет их..
Daria
ну в прямом.. в yii вот нет их..
В симфони миддлвар для запросов тоже нет
Daria
В некоторых фреймворках это просто способ сгруппировать логику обработки запросов, в доке ларавеля можно почитать
Daria
ну в прямом.. в yii вот нет их..
Тут хорошо рассказано, теория там тоже есть по ссылке
Daria
https://refactoring.guru/ru/design-patterns/chain-of-responsibility/php/example#example-1--index-php
Dmitriy
и часто тут у вас "обузоустойчивые" сервера?)
Юра
В симфони вместо middleware ивент листенеры
Юра
Ну если тебе надо как-то вмешаться в процесс обработки запроса то пишешь ивент листенер
Юра
Он срабатывает на каждый запрос ответ
Юра
Можно менять запрос, менять ответ и т.д.
Юра
В доке есть всё
Юра
Ищи по запросу symfony kernel events
Dmitriy
Ок.
Dmitriy
I will
Юрий
Вопрос к тем кто knp paginator пользуется - как в twig шаблоне получить список имён полей таблицы, нужно что-то типа {% for field in pagination.fields %}.
Юрий
И второй перебираем строки {% for item in pagination %} далее надо вместо {{item.phone}} как-то написать {{ item[field] }} где field - название поля.
Юрий
На {{ item[field] }} ругается что item объект а не массив.
Юрий
Второй вопрос решил - можно получить запись так {% set value = attribute(item,field) %}
Юрий
какую страницу
Юрий
даже исходники почитал
Daria
Юрий
Так я сделал уже. Интересно через пагинатор можно ли.
Maxim Kainov
https://medium.com/engenharia-arquivei/a-decoupled-php-architecture-inspired-by-the-clean-architecture-788b30ab52c2
Maks
Никита Попов и Николас Грекас: совместимость Symfony с PHP 8 https://www.youtube.com/watch?v=c3bpTBjhK2Y Интервью записали достаточно давно, и на тот момент тесты Symfony на PHP 8 были зеленые, но теперь снова нет 😁 Issue по совместимости помечены тегом Help wanted, так что если есть время законтрибьютить, то вот вариант.
netspike
roles: IS_AUTHENTICATED_ANONYMOUSLY
netspike
Это же доступ всем же
Roman
ну да
netspike
А че он тогда не пускает меня по адресу /api/v1/registration
netspike
{"code":401,"message":"JWT Token not found"}
netspike
Кто нить сталкивался с этой ошибкой "JWT Token not found"?
Egor
Не сталкивался, попробуй добавить anonymous: true
netspike
netspike
Вот сейчас конфиг
Egor
Прекрасно, попробуй добавить anonymous: true
Dima
Тут ты всем роутам апи указал предъявлять токен, registry в том числе
netspike
Спс
Dima
Вот и не пускает по роуту /api/v1/registration, токен надо registry надо делать примерно как и login