YML konfigurace pro Kdyby/Doctrine

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

Ahoj,

už několik hodin se snažím zprovoznit generování doctrine objektů z YAML souboru. Mám rozšíření Kdyby/Doctrine a za živého boha nemohu rozchodit automaticke generování tříd z tohoto configu.

Můžete někdo prosím poradit?

config.neon

services:
	- App\Model\UserManager
	router: App\RouterFactory::createRouter

extensions:
	console: Kdyby\Console\DI\ConsoleExtension
	events: Kdyby\Events\DI\EventsExtension
	annotations: Kdyby\Annotations\DI\AnnotationsExtension
	doctrine: Kdyby\Doctrine\DI\OrmExtension

doctrine:
	user: d_smskovac2
	password: d_smskovac2
	dbname: d_smskovac2
	metadata:
		Yaml: yml(%appDir%/model/yaml)

console:
	url: http://myurl.cz

annotations:
	ignore:
		- myannotation
	debug: yes

Product.dcm.yml který je v doctrine example ulozen v appDir/model/yaml

Product:
 type: entity
 table: products
 id:
  id:
   type: integer
   generator:
    strategy: AUTO
 fields:
  name:
   type: string
nyccoss
Člen | 18
+
0
-

Tak uz jsem nasel problem. Tak pripisuji pro ostatni.

nazev yaml souboru musi byt teckovou notaci reprezentovat namespace. Prvni cast namespacu je definovana v doctrine extensione.

doctrine:
    user: d_smskovac2
    password: d_smskovac2
    dbname: d_smskovac2
    metadata:
        App: yml(%appDir%/model/yaml)

ocekava namespace App

yaml soubor se tudiz musi jmenovat App.Product.dcm.yml a byt ulozen v appDir/model/yaml
obsah souboru

App\Product:
 type: entity
 table: products
 id:
  id:
   type: integer
   generator:
    strategy: AUTO
 fields:
  name:
   type: string

pri spusteni prikazu nize pak vygeneruje do app/model slozky dle namespacu. Tudiz vytvbori app/model/App/Model/Product.php

php www/index.php orm:generate-entities  app/model/
Filip Procházka
Moderator | 4668
+
0
-

Kdyby/DoctrineMoney najdeš fungující příklad, jak se používá YAML mapping :)

nyccoss
Člen | 18
+
0
-

Diky za radu.

Nic mene mam ted jiny problem. Jak resis vyhledavani bez ohledu na diakritiku? Pokud do dotazu pouziju

WHERE column COLLATE utf8_general_ci LIKE ?

tak me Doctrine vyhodi exception, ze ocekava = < atp a ne COLLATE. Jak na to?

Filip Procházka
Moderator | 4668
+
0
-

Proč jiný problém píšeš do tématu, které s ním nesouvisí? Pokračování zde.

DQL collate neexistuje, nastuduj si dokumentaci.