2016-04-08 44 views
0

i Varlık oluşturmak istediğiniz veri tabanından ben bu hata var. peşinBilinmeyen veritabanı türü enum, Doktrin

Teşekkür

+0

Doktrini eşler vermez

class EnumType extends Type { const NAME = "enum"; // ... (your implemented methods) public function getMappedDatabaseTypes(AbstractPlatform $platform) { return ['enum']; } } 

eğlenceli :) Var: \ kendinizinkilerle Doktrin \ DBal \ Tipleri \ Tip :: getMappedDatabaseTypes böyle işe yaramaz yöntemini geçersiz - Yani, basit yolu bunu Doküman türü için ENUM veritabanı türü. Her neyse, birkaç geçici çözüm var. Enumlar hakkında [resmi belgelere] (https://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/cookbook/mysql-enums.html) bakın. – edigu

cevap

0

listenize enum

$em = $e->getApplication()->getServiceManager()->get('Doctrine\ORM\EntityManager'); 
$platform = $em->getConnection()->getDatabasePlatform(); 
$platform->registerDoctrineTypeMapping('enum', 'string'); 
0

aşağıdaki satırı ekleyin ip gibi tedavi etmek Doctrine anlatmak için, senin Module.php arasında onBootstrap modülünde böyle bir şey yapmak istiyorum, senin bootstrap.php

$entityManager->getConnection()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string'); 
0

Eğer gerçekten enums ile çalışmak ve dizeleri dönüştürmek istemiyorum, özel tipinizi (gerçekten büyük bir anlaşma değil) uygulamanız gerekir. enter link description here

Bkz Ama aynı zamanda, kendi platformunda türleri listesini uzatmak zorunda .

İlgili konular