Я пытаюсь создать таблицы из моделей, используя метод Doctrine createTablesFromModels .У меня есть папка /model
, в которой я храню свои модели, но это зависит от имен файлов, как таблицы генерируются.
Внутри 3-х файлов у меня есть следующее:
class Item extends Doctrine_Record {
public function setTableDefinition() {
$this->hasColumn('nombre', 'string', 45, array(
'notnull' => true
));
$this->hasColumn('enunciado', 'string', 90, array(
'notnull' => true
));
$this->hasColumn('imagen_reposo', 'string', 90);
$this->hasColumn('imagen_movimiento', 'string', 90);
}
public function setUp() {
$this->hasMany('Prueba as Pruebas', array(
'refClass' => 'ItemPrueba',
'local' => 'item_id',
'foreign' => 'prueba_id'
));
}
}
class Prueba extends Doctrine_Record {
public function setTableDefinition() {
$this->hasColumn('nombre', 'string', 45, array(
'notnull' => true
));
$this->hasColumn('consigna', 'clob', 65535);
$this->hasColumn('consentimiento', 'clob', 65535);
$this->hasColumn('codigo', 'string', 45);
}
public function setUp() {
$this->hasMany('Item as Items', array(
'refClass' => 'ItemPrueba',
'local' => 'prueba_id',
'foreign' => 'item_id'
));
}
}
class ItemPrueba extends Doctrine_Record {
public function setTableDefinition() {
$this->hasColumn('item_id', 'integer', null, array(
'primary' => true
));
$this->hasColumn('prueba_id', 'integer', null, array(
'primary' => true
));
}
}
Я просто хочу установить связь многих со многими.Когда я использую эти имена:
/models/tableone.php
/models/tabletwo.php
/models/tableoneTabletwo.php
он создает следующие таблицы с отношениями.
http://i52.tinypic.com/25hpdo2.png
Когда я использую эти имена:
/models/item.php
/models/prueba.php
/models/itemPrueba.php
создает таблицы без каких-либо отношений
подробнее: я использую каркас codeIgniter и добавил Doctrine 1.2 в качестве плагина