Nextras ORM, mazání potomků ve vazbě

Sitole
Člen | 39
+
0
-

Ahoj,
plácám se tady s tím už celý den a nějak netuším, kde dělám chybu. Mám entity vlákna a příspěvků ve vlákně viz:

/**
 * @property int $id {primary}
 * @property string $content
 * @property \DateTimeImmutable $inserted {default now}
 * @property User $author {m:1 User, oneSided=true}
 * @property ForumThread $thread {m:1 ForumThread::$posts}
 */
class ForumPost extends BaseEntity
{
}
/**
 * @property int $id {primary}
 * @property string $name
 * @property \DateTimeImmutable $inserted {default now}
 * @property User $author {m:1 User, oneSided=true}
 * @property ForumForum $forum {m:1 ForumForum, oneSided=true}
 *
 * @property OneHasMany|ForumPost[] $posts {1:m ForumPost::$thread}
 */
class ForumThread extends BaseEntity
{
}

Následně si v aplikaci vytáhnu vlákno a chtěl bych jej smazat včetně příspěvků, ale po použití
$this->forumThreadsRepository->remove($thread, true);
Vyhodí aplikace chybu „Cannot remove App\Models\Database\ORM\ForumThreads\ForumThread::$id=11 because App\Models\Database\ORM\ForumPosts\ForumPost::$thread cannot be a null.“
Hlášku chápu, ale myslel jsem, že právě druhý parameter u metody remove má zařídit smazání potomků. Samo sebou bych mohl vytáhnout všechny příspěvky podle vlákna a smazat je, ale to mi přijde trošku zbytečné.

Co dělám špatně? Předem děkuji.

sucho
Člen | 57
+
0
-

A máš na cudzom kľúči ON DELETE CASCADE ?

http://www.mysqltutorial.org/…ete-cascade/

Editoval sucho (4. 12. 2018 9:30)

Jan Tvrdík
Nette guru | 2595
+
+2
-

@Sitole Ten parameter říká, že se použijí nastavené kaskády, ale první je potřeba je nastavit, viz https://nextras.org/…elationships#…

Sitole
Člen | 39
+
0
-

@JanTvrdík opravdu to bylo tím. Mockrát děkuji.