php条令行为帮助

php条令行为帮助,php,doctrine,Php,Doctrine,我正在学习教义教程,遇到了一个问题。自动加载功能是否不适用于行为 这是我一直遵循的教程。它应该在生成时自动创建所提到的表之间的关系,但是我刚刚收到一条错误消息,指出表中不存在相应的外部id列 这是应该运行的特定代码位,但似乎没有 public function setTableDefinition() { foreach ($this->_options['relations'] as $relation) { $columnName = Doctrine_Infl

我正在学习教义教程,遇到了一个问题。自动加载功能是否不适用于行为

这是我一直遵循的教程。它应该在生成时自动创建所提到的表之间的关系,但是我刚刚收到一条错误消息,指出表中不存在相应的外部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模式中,行为将完全按照预期工作

有人能帮我吗


感谢您的建议。

我认为示例中有一个输入错误:

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

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