2009-11-09 102 views
0

我正在通過教義的教條,並遇到了一個問題。自動加載功能是否不適用於行爲?php學說行爲幫助

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

我認爲這是在例如一個錯字:

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

應該

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