Kdyby\Doctrine – nevidí entitu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
David Krupička
Člen | 45
+
0
-

Ahoj,
vytvořil jsem si první entitu a když zadám do konzole příkaz php index.php orm:info tak mi vypíše jen tohle:

Found 2 mapped entities:
[OK]   Kdyby\Doctrine\Entities\BaseEntity
[OK]   Kdyby\Doctrine\Entities\IdentifiedEntity

Mazal jsem cache a nic nepomohlo. Entita vypadá takto:

namespace App;

use Doctrine\ORM\Mapping as ORM;
use Kdyby\Doctrine\Entities\BaseEntity;

/**
 * @ORM\Entity
 */
class Article extends BaseEntity
{

	/**
	 * @ORM\Id
	 * @ORM\Column(type="integer")
	 * @ORM\GeneratedValue
	 */
	protected $id;

	/**
	 * @ORM\Column(type="string")
	 */
	protected $title;

}

Nemáte nějaký nápad, v čem by mohl být problém?

jiri.pudil
Nette Blogger | 1032
+
0
-
David Krupička
Člen | 45
+
0
-

jj mám, ale configem to asi nebude, to by napsalo u :validate chybu ale nevidí to vůbec tu entitu a tím pádem validate projde, spíš jestli nemám blbě namespace nebo tak něco

doctrine:
    user: 'xxx'
    password: 'xxx'
    dbname: 'xxx'
    metadata:
        App: %appDir%/../migrations
Jan Mikeš
Člen | 771
+
+2
-

metadata má směřovat do adresáře s tvými entitami

David Krupička
Člen | 45
+
0
-

Perfektní díky! Když využívám i migrace a chtěl bych je mít v jiné složce?

Jan Mikeš
Člen | 771
+
+1
-

Migrace nejsou entity, není potřeba řešit jejich mapování v configu doctrine.
Cesta k migracím se určuje (za předpokladu, že využíváš zenify/doctrine-migrations) v konfiguraci pro tuto extension
Jak můžeš vidět, výchozí hodnota je 'directory' => '%appDir%/../migrations'.
Tuto hodnotu můžeš změnit, v configu pod příslušným názvem, jak sis extension pojmenoval při registraci. Já registruji extension jako anonymní takto (nepotřebuji měnit výchozí hodnoty)

extensions:
	- Zenify\DoctrineMigrations\DI\MigrationsExtension

Pokud by jsi config měnil musíš si extension pojmenovat:

	extensions:
		someNameForExampleMigrations: Zenify\DoctrineMigrations\DI\MigrationsExtension

Pak tento název použiješ jako sekci v configu a nakonfiguruješ co potřebuješ:

someNameForExampleMigrations:
	directory: %appDir%/../blabla/migrations

ps. pojmenování extension je čistě na tobě

Editoval Lexi (19. 10. 2016 17:46)