我正在阅读教条的教程,并遇到了一个问题。自动加载功能不适用于行为吗?
This是我一直关注的教程。它应该自动创建生成时提到的表之间的关系,但是我只是得到一条错误消息,说明表中不存在相应的外部id列。
这是应该运行的特定代码,但似乎不是。
public function setTableDefinition()
{
foreach ($this->_options['relations'] as $relation) {
$columnName = Doctrine_Inflector::tableize($relation) . '_id';
if (!$this->_table->hasColumn($columnName)) {
$this->hasColumn($columnName, 'integer');
}
}
}
如果我手动将列添加到我的yaml架构中,行为将完全按预期工作。
任何人都可以帮助我吗?
感谢任何建议,谢谢。
答案 0 :(得分:1)
我认为示例中有一个拼写错误:
if (!$this->_table->hasColumn($columnName)) {
$this->hasColumn($columnName, 'integer');
}
应该是
if (!$this->_table->hasColumn($columnName)) {
$this->setColumn($columnName, 'integer');
}