ORM práce s entitou a vytvoření tabulky

před 6 dny

Albenis
Člen | 12
+
0
-

Ahoj,

snažím se rozchodit ORM ( Nettrine ) na Nette 3.0.

Mám založenou Entitu User v App\Model\Database\User.php

V configu je jako

orm.annotation:
paths:
 – App\Model\Database\User

Jak vytvořím table v databázi pomocí té entity ?

  • nedá se nějak docílit toho, aby se mi Entity mapovali sami ? a nemusel jsem každou registrovat do configu ?

Díky moc :)

před 6 dny

Mysteria
Člen | 741
+
0
-
  1. Nainstaluješ si Symfony Console a ORM Bridge: https://github.com/…cs/README.md#…
  2. Zkus tam dát místo konkrétní entity jenom App\Model\Database

před 6 dny

Albenis
Člen | 12
+
+1
-

Takhle vypadá můj common.neon ( v php tagu je to pro čitelnost )

<?php
extensions:
    console: Contributte\Console\DI\ConsoleExtension(%consoleMode%)

    dbal: Nettrine\DBAL\DI\DbalExtension
    dbal.console: Nettrine\DBAL\DI\DbalConsoleExtension

    orm: Nettrine\ORM\DI\OrmExtension
    orm.console: Nettrine\ORM\DI\OrmConsoleExtension
    orm.annotation: Nettrine\ORM\DI\OrmAnnotationsExtension

services:
    - App\Console\CreateUserCommand

    router: App\Router\RouterFactory::createRouter

console:
    name: CRM | Znamý web
    version: '1.0'
    catchExceptions: true
    autoExit: false
    lazy: true
    url: https://www.znamyweb.cz

orm.annotation:
    excludePaths: []
    ignore: []
    defaultCache: filesystem
    paths:
        - App\Model\Entity
?>

A takhle vypadá má Entita, která se nachází v app/Model/Entity/User.php

<?php

namespace App\Model\Entity;

use Doctrine\ORM\Mapping as ORM;
use Nettrine\ORM\Entity\Attributes\Id;


/**
 * Class User
 * @package App\Model\Entity
 * @ORM\Entity
 */
class User
{
    use Id;
}
?>

před 6 dny

Albenis
Člen | 12
+
0
-

Napíšu-li bin/console orm:info

output: File mapping drivers must have a valid directory path, however the given path [App\Model\Entity\] seems to be incorrect!

před 5 dny

jiri.pudil
Člen | 870
+
0
-

To je myslím docela srozumitelná chybová hláška :) V orm.annotation.paths nemá být PHP namespace, nýbrž cesta ke složce, ve které se nacházejí entity. Takže třeba %appDir%

před 5 dny

Albenis
Člen | 12
+
0
-

Tak v tom případě je dokumentace napsána docela podivně..

https://github.com/…cs/README.md#…

<?php
orm.annotations:
    paths:
        - App/Model/Database/Entity
?>

před 5 dny

MajklNajt
Člen | 221
+
+1
-

@Albenis sleduj lomky…

před 5 dny

Albenis
Člen | 12
+
0
-

@MajklNajt
? co tím myslíš ?

Zkusil jsem:

App\Model\Entity
App/Model/Entity

App\Model\Entity\User
App/Model/Entity/User

před 5 dny

Albenis
Člen | 12
+
0
-

UPDATE

Fungovalo mi to za použití:

%appDir%/Model/Entity