/*
Всем привет) Что нужно прописать для того что б пользователь активировался через ел. почту?
Maks
FosUserBundle
Dmitry
Всем привет) Что нужно прописать для того что б пользователь активировался через ел. почту?
в смысле сам создавал аккаунт, а на почту приходила активация?
/*
да
/*
сенк я уже понял как сделать
artem
сенк я уже понял как сделать
За это я и люблю симфу
/*
ага)
artem
Кто-то скрещал jwt и graphql. Это был первый вопрос. Второй: кто юзает http2 и смотрит в сторону http3?
artem
сенк я уже понял как сделать
Все равно ты сделал не так)
/*
скоро узнаю)
artem
скоро узнаю)
Вынес в сервис и чёт поднастроил?
/*
присвоил роль і добавил if по роли в twig
artem
норм или нет?
У симфы нет предела совершенству)) вынеси хоть в сервис
Alexander
Привет. Не пойму как сделать right join через createQueryBuilder, innerJoin, leftJoin и join (это сокращение к innerJoin) есть, а вот right join - нет. Есть решения?
Anatoliy
написать right join
Anatoliy
В чем вопрос то?)
Alexander
Ну так попробуй найти метод rightJoin в createQueryBuilder, очень интересно как это получится.
Alexander
В том и дело что Attempted to call an undefined method named "rightJoin" of class \"Doctrine\\ORM\\QueryBuilder\"."
Alexander
Въехал, версия dbal doctrine v2.10.1 и symfony 4.4.4, где репозитории наследуют ServiceEntityRepository, и через this в метод createQueryBuilder стучаться для rightJoin бесполезно. Нужно только через $this->_em->getConnection()->createQueryBuilder. Вдруг кто столкнется как я с этим. Возможно правда и не лучший вариант, но хоть метод есть. P.S. Руслан спасибо, ссылка помогла разобраться в различиях.
Гречушников
/*
Всем ку)
/*
Как отобразить загруженные картинки ?
Egor
Используя тег img
/*
Где находится темплейт sonata admin dashboard?
Maks
Где находится темплейт sonata admin dashboard?
ты этот чатик с гуглом путаешь походу)
Dmitrij
Привет всем. Мужики, в Symfony предусмотрено расширения класса Request? или нет ?
Dmitrij
чет погуглил, и не увидел, чтоб кто то задавался этим вопросом
Dejan
hello guys does anyone have any good examples for Gedmo\tree lib or experience ? i need example for tree type: closure because i have tables category and category_treepath (wich ancestor, descendant and path_lenght) and i have made it some what to work but i get errors like Node is not related to this repository so the doc on gedmo\tree on github suck :D https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/tree.md#closure-table
Гречушников
а что вам помешало расширить его?
Dmitrij
а что вам помешало расширить его?
знание того как это быстро делается в ларке ))) думал, что в симфе точно также отнаследовался и вперед и с песней
Dmitrij
ан нет
Dmitrij
уже не актуально ))) всем спасибо ))
Dejan
Класс репозитория должен быть унаследован от ClosureTreeRepository
thanks for reply, but i am not sure if i understood correctly but i am already extending ClosureTreeRepository in my repository
Kirill
знание того как это быстро делается в ларке ))) думал, что в симфе точно также отнаследовался и вперед и с песней
В ларке это делается не через наследование, а через экстендинг. Ваш кеп (с) $request->extend('method', function() { // do something });
Dmitry
thanks for reply, but i am not sure if i understood correctly but i am already extending ClosureTreeRepository in my repository
__Node is not related to this repository__ Нужен пример кода, вызывающего эту ошибку
Dejan
__Node is not related to this repository__ Нужен пример кода, вызывающего эту ошибку
so i have something like this https://pastebin.com/bRsC9nGv on this i have one more entity that i took from docs class CategoryTreepathClosure extends AbstractClosure 2 tables categories and category_treepath are the entities set correctly ? i would like to have tree like structure something like - cat1 - subcat1 - subcat2 - subsubcat1 - cat2 - subcat1 - subcat2 - subsubcat1
Dmitry
so i have something like this https://pastebin.com/bRsC9nGv on this i have one more entity that i took from docs class CategoryTreepathClosure extends AbstractClosure 2 tables categories and category_treepath are the entities set correctly ? i would like to have tree like structure something like - cat1 - subcat1 - subcat2 - subsubcat1 - cat2 - subcat1 - subcat2 - subsubcat1
No. Not correct. part 1. config/packages/stof_doctrine_extensions.yaml : stof_doctrine_extensions: orm: default: tree: true part 2: /** * @ORM\Table(name="category_treepath") */ class CategoryTreepath extends AbstractClosure { // Must be empty! } part 3: /** * @Gedmo\Tree(type="closure") * @Gedmo\TreeClosure(class="CategoryPath") * @ORM\Entity(repositoryClass="App\Repository\CategoryRepository") * @ORM\Table(name="category") * class Category { /** * Category entity * * @ORM\Entity(repositoryClass="App\Repository\CategoryRepository") * @ORM\Table(name="category") */ class Category { // Special fields for tree /** * Parent element * * @Gedmo\TreeParent * @ORM\ManyToOne(targetEntity="Category", inversedBy="children") * @ORM\JoinColumn(referencedColumnName="id", onDelete="CASCADE") * @var Category|null */ private $parent; /** * Tree level * * @ORM\Column(type="integer", nullable=true) * @Gedmo\TreeLevel * @var int */ private $level; /** * Childs collection * @ORM\OneToMany(targetEntity="Category", mappedBy="parent") * * @var Collection */ private $children; /** * @var int * * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="IDENTITY") */ private $id; /** * @var string * * @ORM\Column(type="string", length=255, unique=true, nullable=false) * @Assert\NotBlank * @Assert\Length(max = 255) */ private $name; /** * @var string|null * * @ORM\Column(name="description", type="text", nullable=true) */ private $description; } part 4: class CategoryRepository extends ClosureTreeRepository { }
Maks
Alexandr
Слишком мало градаций :)
Dejan
No. Not correct. part 1. config/packages/stof_doctrine_extensions.yaml : stof_doctrine_extensions: orm: default: tree: true part 2: /** * @ORM\Table(name="category_treepath") */ class CategoryTreepath extends AbstractClosure { // Must be empty! } part 3: /** * @Gedmo\Tree(type="closure") * @Gedmo\TreeClosure(class="CategoryPath") * @ORM\Entity(repositoryClass="App\Repository\CategoryRepository") * @ORM\Table(name="category") * class Category { /** * Category entity * * @ORM\Entity(repositoryClass="App\Repository\CategoryRepository") * @ORM\Table(name="category") */ class Category { // Special fields for tree /** * Parent element * * @Gedmo\TreeParent * @ORM\ManyToOne(targetEntity="Category", inversedBy="children") * @ORM\JoinColumn(referencedColumnName="id", onDelete="CASCADE") * @var Category|null */ private $parent; /** * Tree level * * @ORM\Column(type="integer", nullable=true) * @Gedmo\TreeLevel * @var int */ private $level; /** * Childs collection * @ORM\OneToMany(targetEntity="Category", mappedBy="parent") * * @var Collection */ private $children; /** * @var int * * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="IDENTITY") */ private $id; /** * @var string * * @ORM\Column(type="string", length=255, unique=true, nullable=false) * @Assert\NotBlank * @Assert\Length(max = 255) */ private $name; /** * @var string|null * * @ORM\Column(name="description", type="text", nullable=true) */ private $description; } part 4: class CategoryRepository extends ClosureTreeRepository { }
@dimmount thanks this looks ok but i already have two tables one is category and other is category_treepath with data so i can’t change schema but good thing is that category_treepath has id, ancestor` descendant, path_level and that is why i map them with vars that gedmo uses (look my pastebin category_treepath)
Dmitry
Слишком мало градаций :)
Штирлиц, - улыбался Мюллер, - столько лет живет в Германии, а до сих пор не научился нормально говорить по-немецки. И откуда только у него этот ужасный рязанский акцент? Нет, пока Штирлиц трезв, с ним просто противно разговаривать. Вот когда выпьет, да, он говорит, как коренной берлинец. Пожалуй, надо выпить.
Dejan
so it still fetches from my table category_treepath ?
Dmitry
so it still fetches from my table category_treepath ?
you already have closure tables maked in another system and tray use it with doctrine?
Dejan
you already have closure tables maked in another system and tray use it with doctrine?
so yes… that is the legacy system which was prepared long time ago for gedmo\tree but it wasn’t used so i am now trying to revive it 😁
Dejan
so let me show you the schema it would be easier
Dejan
CREATE TABLE `category` ( `id` int(11) NOT NULL AUTO_INCREMENT, `parent_id` int(11) DEFAULT NULL, `name` varchar(150) NOT NULL, `status` varchar(10) DEFAULT NULL, `active` tinyint(1) NOT NULL, `description` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `category_treepath` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `ancestor` int(10) unsigned NOT NULL, `descendant` int(10) unsigned NOT NULL, `path_length` tinyint(3) unsigned NOT NULL, `depth` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT 'dept is equal to path_length its here because of GEDMO', `last_updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `ancestor` (`ancestor`,`descendant`), KEY `descendant` (`descendant`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Dmitry
so yes… that is the legacy system which was prepared long time ago for gedmo\tree but it wasn’t used so i am now trying to revive it 😁
you may use my solution delete legacy category_path table and execute categoryRepo->verify(); it fill your path table automaticaly
Maksym
Народ, всем привет! Вопрос по логике обработки событий. Есть чекбокс в меню на отправку письма. Вопрос: нужно сначала проверять этот чекбокс, и если true то attach событие отправки, или сначала attach событие отправки, а в нем проверять нажатие чекбокса?
Dmitry
but if i delete it i wont have parent child relation i will lose all trees :)
doctrine extensions tree path - is a listener managed table. you can't change his structure you want write converter, that transfer some fields to another table (parent transfer to Category)
Dejan
so it only need parent column in category table ? cause i have parent column in there
Dmitry
so it only need parent column in category table ? cause i have parent column in there
no. listeners oriented on table structure and consistency integrity
Dejan
no. listeners oriented on table structure and consistency integrity
so how should the db schema be for your example to work
Dejan
No. Not correct. part 1. config/packages/stof_doctrine_extensions.yaml : stof_doctrine_extensions: orm: default: tree: true part 2: /** * @ORM\Table(name="category_treepath") */ class CategoryTreepath extends AbstractClosure { // Must be empty! } part 3: /** * @Gedmo\Tree(type="closure") * @Gedmo\TreeClosure(class="CategoryPath") * @ORM\Entity(repositoryClass="App\Repository\CategoryRepository") * @ORM\Table(name="category") * class Category { /** * Category entity * * @ORM\Entity(repositoryClass="App\Repository\CategoryRepository") * @ORM\Table(name="category") */ class Category { // Special fields for tree /** * Parent element * * @Gedmo\TreeParent * @ORM\ManyToOne(targetEntity="Category", inversedBy="children") * @ORM\JoinColumn(referencedColumnName="id", onDelete="CASCADE") * @var Category|null */ private $parent; /** * Tree level * * @ORM\Column(type="integer", nullable=true) * @Gedmo\TreeLevel * @var int */ private $level; /** * Childs collection * @ORM\OneToMany(targetEntity="Category", mappedBy="parent") * * @var Collection */ private $children; /** * @var int * * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="IDENTITY") */ private $id; /** * @var string * * @ORM\Column(type="string", length=255, unique=true, nullable=false) * @Assert\NotBlank * @Assert\Length(max = 255) */ private $name; /** * @var string|null * * @ORM\Column(name="description", type="text", nullable=true) */ private $description; } part 4: class CategoryRepository extends ClosureTreeRepository { }
i get this when i setup everything like you said "message": "Class \"App\\Entity\\CategoryTreepath\" sub class of \"Gedmo\\Tree\\Entity\\MappedSuperclass\\AbstractClosure\" is not a valid entity or mapped super class."
Dmitry
I have nothing to say. perhaps the error is in something else
Dejan
i have added * @ORM\Entity in class CategoryTreepath that fixed one thing :D but now as i thought i don’t have $level in category table so i get this error "message": "Database Error: [SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.level' in 'field list']"
Dejan
because that level is in category_treepath
Dmitry
because that level is in category_treepath
listener find this field in Category CategoryPath have another field 'depth' level - count nodes deep from root depth - count nodes from earlier ascendant
Dmitrij
Зачем это может понадобиться? 😕
Ну как минимум отвалидировать реквест, ну и плюс у меня на выходе с реквеста уже готовая дто
Dmitrij
Удобно же
Dmitrij
Делается немного иначе чем в ларке, но в целом суть такая же, чутка более заморочено правда
Maxim Kainov
Лучше сервис создать, который это сделает.
Maxim Kainov
Зачем ?
Проще
Dmitrij
Проще
Но ведь сервис должен хранить бизнес логику, а здесь бл никакой
Maxim Kainov
Да и вообще, для валидации уже есть сервис - валидатор
Dmitrij
Сервис может что угодно делать
Ну такое ))) если есть возможность разложить все по полочкам, зачем городить все в сервисы )))
Maxim Kainov
Ну такое ))) если есть возможность разложить все по полочкам, зачем городить все в сервисы )))
Да почему городить. Просто создаешь класс, который выполняет свое предназначение.
Maxim Kainov
Это ты что то мудришь с расширением реквеста
Dmitrij
Да почему городить. Просто создаешь класс, который выполняет свое предназначение.
А какое тогда предназначение класса реквест если не обработка входящего запроса ?