Doktrini: hasOne hataları verir

1 Cevap php

Ben kullanıcı-> grubuna bir ilişki vermeye çalışıyorum ben burada bir hata alıyorum benim kodu

<?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 = '#*seCrEt!@-*%';
        $this->_set('password', md5($salt . $value));
    }
}
?>

Ben hataları alıyorum neden birisi açıklayabilir misiniz?

Burada benim grup kodu:

<?php
class Group extends Doctrine_Record {

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

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

}
?>

Ben Kod Ateşleyici 1.7.2 ve Doktrin 1.2.2 üzerinde çalışan ediyorum

1 Cevap

Eski bir soru ama hiçbir anwser ... Ben bu konuda bazı sorunlar kendimi ve sorunun bu vardı

$ This-> hasColumn ('group_id', 'tam sayı', 20);

Benim için varsayılan doktrin ayarları 4 oldu ve ben ilişki için int değişmediği sürece Bana hep hata verdi

So if the default is 4 in doctrine I had to use $this->hasColumn('group_id', 'integer', 4);

Not: Ben de Codeigniter 1.7.2 + Doktrini (ama 1.2.1) kullanıyorum ve ben gibi sizin aynı öğretici çalışıyor gibi görünüyor.

Sorunlarınız varsa çıkış için sadece bir not