Ben Doktrin Ben daha önce bir YAML şema ile oluşturulan modellerin bir dizi SQL oluşturmak yapmaya çalışıyorum. Kodunu kullanarak aşağıda çıkış sorguları bir dizi olmalıdır kılavuzda geliyor.
<?php
// test.php
require_once('bootstrap.php');
try
{
$models = Doctrine_Core::generateSqlFromModels('models/generated');
echo '<pre>';
var_dump($models);
echo '</pre>';
}
catch(Exception $e)
{
echo $e->getMessage();
}
Ancak, bu kodun sonucu:
NULL
Daha önce söylediğim gibi, SQL sorguları ile bir dize döndürmek gerekir iken.
Ben de şu denedim:
<?php
// test.php
require_once('bootstrap.php');
try {
$result = Doctrine_Core::createTablesFromModels('models/generated');
echo '<pre>';
var_dump($result);
echo '</pre>';
}
catch(Exception $e)
{
echo $e->getMessage();
}
ama bu da verir:
NULL
Ben kılavuzda çözüm, API başvuru ya da Doktrini çekirdek dosyaları bulmak mümkün değildi. Burada birisi bilir umut.
Şimdiden teşekkürler.
Ben A veya B ile başlayan hiçbir tablo adı var çünkü Update: Bu, çünkü this (eski?) Hata olamaz
Update: Benim bootstrap.php bu gibi görünüyor:
/**
* Bootstrap Doctrine.php, register autoloader specify
* configuration attributes and load models.
*/
require_once(dirname(__FILE__) . '/lib/vendor/doctrine/Doctrine.php');
spl_autoload_register(array('Doctrine', 'autoload'));
$manager = Doctrine_Manager::getInstance();
$conn = Doctrine_Manager::connection('pgsql://user:pass@localhost/dbname', 'doctrine');
$manager->setAttribute(Doctrine_Core::ATTR_VALIDATE, Doctrine_Core::VALIDATE_ALL);
$manager->setAttribute(Doctrine_Core::ATTR_EXPORT, Doctrine_Core::EXPORT_ALL);
$manager->setAttribute(Doctrine_Core::ATTR_MODEL_LOADING, Doctrine_Core::MODEL_LOADING_CONSERVATIVE);
Update: Ben çizgi değişti ettik:
$manager->setAttribute(Doctrine_Core::ATTR_MODEL_LOADING, Doctrine_Core::MODEL_LOADING_CONSERVATIVE);
için:
$manager->setAttribute(Doctrine_Core::ATTR_MODEL_LOADING, Doctrine_Core::MODEL_LOADING_AGGRESSIVE);
ancak çıkış bölgesinin
print_r(Doctrine_Core::filterInvalidModels(Doctrine_Core::loadModels('models/generated')))
hala boş bir dizidir.