Nelze přiřadit repozitář k entitě | Kdyby\Doctrine

před rokem

Michal Odehnal
Člen | 5
+
0
-

Ahojte, potřeboval bych pro entitu MainMessage vytvořit repozitář a svázat ho s touto entitou.
Má entita vypadá následovně:

<?php
namespace App\Model\Entities;
use Doctrine\ORM\Mapping as ORM;

/**
 * Class MainMessage
 * @package App\Model\Entities
 * @ORM\Entity(repositoryClass="CoreModule\Repository\MainMessageRepository")
 * @ORM\Table(name="main_messages")
 */
class MainMessage extends BaseEntity
{
...
?>

a můj repozitář následovně:

<?php
namespace CoreModule\Repository;

use Kdyby\Doctrine\EntityRepository;
use Doctrine\ORM\Mapping as ORM;

/**
 * Class MessageRepository
 * @package FaleronModule\Repository
 */
class MainMessageRepository extends EntityRepository
{
...
?>

Potíž je v tom, že při spuštění aplikace dostanu následující chybu:

Nette\Utils\AssertionException

The magic auto-detection of entity for repository CoreModule\Repository\MainMessageRepository for IRepositoryFactory was removed from Kdyby.You have to specify doctrine.repositoryEntity tag with classname of the related entity in order to use this feature

Nevíte jak přesně má vypadat anotace, kterou to po mě chce ?
Zkoušel jsem něco jako

<?php
/**
 * Class MessageRepository
 * @ORM\repositoryEntity(classname="App\Model\Entities\MainMessage")
 * @package FaleronModule\Repository
 */
?>

ale pořád nic :-(

Editoval Michal Odehnal (10. 3. 2018 15:18)

před rokem

David Matějka
Moderator | 5814
+
+1
-

je potreba to uvest pri registraci repository do DI: https://github.com/…factory.neon#…

před rokem

Tomáš Votruba
Moderator | 1154
+
+1
-

Zvaž i services-based přístup místo Doctrine service locatoru. Je to sice více psaní, ale dá ti větší svobodu, kontrolu a typovost: How to use Repository with Doctrine as Service in Symfony