Alexey Mishurovskiy
Alexander
Без кода не понятно, да
Александр II
есть в бд запись
shop_categories
id -1
name - телефоны
я создаю новый продукт
new Product (где есть ссылка на категорию) через орм
/**
* @ORM\ManyToOne(targetEntity=ShopCategory::class)
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
*/
при создании продукта я делаю так
new Product(
category: new ShopCategory (
id: 1,
name: 'телефоны'
)
)
по идее запись этой категории уже есть в бд
как сделать так, что бы при
$this->_em->persist($product);
$this->_em->flush();
он смапил категорию (id:1 вставил)
а то он выдает ошибку
——————————
я могу вытащить все категории, замапить, а потом записать - все будет ок
но я думал можно объект кинуть и он сам замапит
Alexey Mishurovskiy
Сергей
Alexey Mishurovskiy
$category = ......Repository->find(id)
new Product(
category: $catehory
)
Александр II
Alexey Mishurovskiy
а причем тут 100к товаров ?
Alexey Mishurovskiy
ну выгрузи категории 1 раз до обработки товаров
Alexey Mishurovskiy
стоит почитать вот это https://www.doctrine-project.org/projects/doctrine-orm/en/2.8/reference/working-with-objects.html
Юра
Юра
еще если ты заранее знаешь айди модели ты можешь попробовать сделать лайфхак
Юра
$em->getUnitOfWork()->registerManaged(...);
Юра
только это недокументированная возможность можешь что-то сломать
Alexey Mishurovskiy
Alexey Mishurovskiy
Спасибо
Александр II
Юра
Но если категорий не много, то я бы не парился и просто доставал их и складывал в массив. Достать запись по примари ки это очень быстрая операция. Заодно исключишь ситуацию если категории с таким айди нет в БД
Shokha
https://github.com/ElisDN/demo-project-manager/blob/master/manager/config/packages/doctrine.yaml
Shokha
тут есть же группа mappings если тут будет много это не страшно?
Shokha
Там шас User, Comment, Work общий 3!
у меня примерно может быть 5-6
Dmitry
Shokha
https://www.doctrine-project.org/2021/05/24/orm2.9.html
Shokha
/**
* @ORM\Entity()
* @ORM\Table(name="users",
* uniqueConstraints={
* @ORM\UniqueConstraint(name="phone_number_unique", columns={"phone_number", "type"})
* }
* )
*/
так рекурсивно как писать теперь? в стиле php 8
artem
Всем привет. Есть вопрос как переопределять метод контроллера с вендоров? Вчера на собесе говорили что в симфе есть такой функционал, но забыл как называется. Хотел почитать. Может кто поделиться ссылкой?
Слава
artem
Вопрос снят. Читаем декораторы
Слава
нашли блин что спросить....
artem
Ну просто не сталкивался) решил почитать. Мб пригодится в будущем
artem
Я за это писал
artem
https://symfony.com/doc/current/service_container/service_decoration.html
Alexey Mishurovskiy
А доктрина так и не умеет до сих пор брать сущности из подкаталогов, если явно об этом не указать в конфигах ?
Andrey
Внутри src/Entity берёт норм
Юра
Alexey Mishurovskiy
Maxim
Всем привет, подскажите, пожалуйста как можно преобразовать объект stdClass в ассоциативный массив с наименьшим потреблением памяти ?
Vlad
``(array) $dto``
H ᵘ
Maxim
Vite4eg
а stdClass откуда берётся? Нельзя сразу в виде массива данные получить?
Dmitriy
Всем привет! Подскажите где в конфигах api-platform можно изменить параметр operationId для swagger? Когда делаешь выгрузку swagger получаются такие значения operationId=app_ticketCloseBankBillAddNewControllerCollection
Alexey Mishurovskiy
H ᵘ
H ᵘ
Dmitriy
Andrey
что там в stdClass то?
std::mechanicus
как минимум по причине валидации жсона
std::mechanicus
Maxim
H ᵘ
а что за генератор можете подсказать?
фактически, это способ обрабатывать что-то построчно, не выгружая весь объём в память. только я не тыкал туда stdClass, но по идее должно работать
std::mechanicus
H ᵘ
Alexey Mishurovskiy
и не могу представить себе ситуацию, где бы он мог бы появиться
Юра
Какие-то либы древние могут выплевывать stdClass
Sergey
Всем привет! Кто-нибудь пробовал доктрину новую (2.9) с аннотациями 8й пыхи? У меня при создании миграции не распознается новый синтаксис, не видит изменений. Doctrine-migrations ещё не готов к этому?
Vlad
Жди когда бандл доктрины обновиться до 2.4
Sergey
Вроде новый уже
Sergey
Shokha
Ребят чтобы проверить работает ли remember_me
$this->denyAccessUnlessGranted('IS_AUTHENTICATED_REMEMBERED') что должен возвращать? у меня шас он вернул null
Юра
Ничего
Shokha
при логине я поставил галочку запомнить меня
Юра
Он либо кидает эксшепн либо ничего не возвращает
Shokha
remember_me:
secret: '%kernel.secret%'
lifetime: 604800
path: /
Shokha
а как могу я проверить работает ли у меня remember_me
Юра
Закрыть октрытл браузер
Юра
Я так понимаю это влияет на лайфтайм куки
Юра
Либо Кука переживет рестарт браузера либо нет
Shokha
чета не работает у меня remember_me с чего может быть такое
Shokha
Shokha
все решил проблему надо было передать еще
new RememberMeBadge(),