2010-03-31 92 views
0

當我想給一個關係到用戶自>組我在這裏得到一個錯誤是我的代碼學說:hasOne給出錯誤

<?php 
class User extends Doctrine_Record { 

    public function setTableDefinition() { 
     $this->hasColumn('username', 'string', 255, array('unique' => 'true')); 
     $this->hasColumn('password', 'string', 255); 
     $this->hasColumn('email', 'string', 255, array('unique' => 'true')); 
     $this->hasColumn('group_id', 'integer', 20); 
    } 

    public function setUp() { 
     $this->setTableName('users'); 
     $this->actAs('Timestampable'); 
     $this->hasMutator('password', '_encrypt_password'); 

     $this->hasOne('Group', array(
      'local' => 'group_id', 
      'foreign' => 'id' 
      )); 
    } 

    protected function _encrypt_password($value) { 
     $salt = '#*[email protected]*%'; 
     $this->_set('password', md5($salt . $value)); 
    } 
} 
?> 

是否有人可以解釋爲什麼我收到錯誤?

這裏是我的組碼:

<?php 
class Group extends Doctrine_Record { 

    public function setTableDefinition() { 
     $this->hasColumn('name', 'string', 255); 
    } 

    public function setUp() { 
     $this->setTableName('groups'); 
    } 

} 
?> 

我的代碼點火器1.7.2和1.2.2學說運行

+0

你究竟得到什麼錯誤? – Crozin 2010-03-31 09:12:34

回答

1

老問題,但沒有anwser ......我遇到了一些問題,與此我自己和問題是這樣的

$ this-> hasColumn('group_id','integer',);

對我來說,默認設置學說爲4,如果默認值是4學說,除非我改變的關係

所以INT它總是給我的錯誤,我不得不使用 $這個 - > hasColumn(」 group_id','integer',);

注意:我也在使用Codeigniter 1.7.2 + Doctrine(但是是1.2.1),它看起來像你嘗試使用與我一樣的教程。

只是一個注意事項,如果有問題