2010-03-31 2 views
0

, когда я пытаюсь дать отношения к user-> группе я получаю ошибку здесь мой кодDoctrine: 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

ответ

1

Старый вопрос, но нет anwser ... У меня были некоторые проблемы с этим я и проблема была в этом

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

Для меня настроек Доктрины по умолчанию был 4 и он всегда давал мне ошибки, если я не изменяю Int для отношения

Так, если по умолчанию 4 в доктрине я должен был использовать $ this-> hasColumn (» group_id ',' integer ',);

Примечание: Я также использую Codeigniter 1.7.2 + Doctrine (но 1.2.1), и похоже, что вы пытаетесь использовать тот же учебник, что и я.

Просто записка, если возникли проблемы

Смежные вопросы