php教条行为帮助

时间:2009-11-09 21:38:58

标签: php doctrine

我正在阅读教条的教程,并遇到了一个问题。自动加载功能不适用于行为吗?

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架构中,行为将完全按预期工作。

任何人都可以帮助我吗?

感谢任何建议,谢谢。

1 个答案:

答案 0 :(得分:1)

我认为示例中有一个拼写错误:

if (!$this->_table->hasColumn($columnName)) {
    $this->hasColumn($columnName, 'integer');
}

应该是

if (!$this->_table->hasColumn($columnName)) {
    $this->setColumn($columnName, 'integer');
}