Nextras/ORM prázdná collection

andras.k
Člen | 2
+
0
-

Zdravím,
po delší době pátrání po chybě jsem se rozhodl se dotázat tady.
Mám Nextras/ORM a v něm 2 entity v relaci 1:m – Příspěvek : view (Počet zobrazení příspěvku)

/**
 * @property int|null  $id        {primary}
 * @property string    $title
 * @property User    $author      {m:1 User::$posts}
 * @property PostView  $views     {1:m PostView::$post_id}
 * @property string    $text
 * @property DateTimeImmutable    $published
 */

class Post extends Entity {

}
/**
 * @property int|null  $id        {primary}
 * @property string    $view_ip
 * @property Post      $post_id    {m:1 Post::$views}
 */

class PostView extends Entity {

}

Mám je naplněný daty. Když si ale vyhodím dump($post), obsahuje všechno, kromě kolekce $views.
Jsem úplný začátečník, proto prosím pochopení, pokud je to simple problémek :D
Předem díky moc!

David Matějka
Moderator | 6445
+
+1
-

Ahoj, jelikož je views 1:m relace, tak je tam kolekce, která se načte až ve chvíli, kdy s ní pracuješ. takže pokud bys třeba napsal

foreach ($post->views as $view) {
	dump($view);
}

tak ti to vrátí jednotlivé views.

A máš tam špatně tu anotaci, nemá tam být @property PostView, ale @property OneHasMany|PostView[]. A taky v tom PostView si změn název toho fieldu $post_id na $post.

jinak k dotazům ohledně nextras/orm doporučuju se připojit na slack pehapkařů – https://pehapkari.cz/ najdeš tam odkaz „diskutujeme na slacku“ a tam je potom channel #nextras

andras.k
Člen | 2
+
0
-

Díky moc!
Nevím proč, ale nepomohla samostatná práce s kolekcí, to už jsem zkoušel hned na začátku.
Teď mi pomohlo to, že jsem ,díky tvé radě, opravil anotaci z $post_id na $post, a potom i v databázi změnil název atributu.