500 |内部服务器错误| Doctrine_Record_UnknownPropertyException未知记录属性

时间:2012-04-10 01:39:32

标签: doctrine symfony-1.4

我将在线网站复制到localhost.after登录时出现以下错误。 但在线服务器工作gud。

500 |内部服务器错误| Doctrine_Record_UnknownPropertyException “Layer”

上的未知记录属性/相关组件“id”

PLZ帮助解决问题。

这是schema.yml。

##########
# USER
##########
Personal:
  columns:
    user_id:                { type: integer, notnull: true }
    full_name:              { type: string(255), notnull: true }
    sex:                    { type: integer(1), notnull: true } #use constant value, 1 = Male, 2 = Female
    birth_date:             { type: date, notnull: true }
    relationship_status:    { type: integer(1), notnull: true } #use constant value, 1 = Single, 2 = In a relationship, 3 = Engaged, 4 = Married, 5 = It's complicated, 6 = In an open relationship, 7 = Widowed, 8 = Separated, 9 = Divorced
    country_id:             { type: integer }
    zone_id:                { type: integer }
    occupation:             { type: string(255) }
    education:              { type: string(255) }
    hobbies:                { type: string(255) }
    professional_interests: { type: string(255) }
    about_me:               { type: string(1000) }
    alias:                  { type: string(255), notnull: true }
    primary_album_id:       { type: integer }
    primary_layer_id:       { type: integer }
    profile_picture_id:     { type: integer }
    alias_picture_id:       { type: integer }
  relations:
    User:           { class: sfGuardUser, local: user_id, foreign: id, onDelete: CASCADE }
    Country:        { local: country_id, foreign: id, onDelete: SET NULL }
    Zone:           { local: zone_id, foreign: id, onDelete: SET NULL }
    PrimaryAlbum:   { class: Album, local: primary_album_id, onDelete: SET NULL }
    PrimaryLayer:   { class: Layer, local: primary_layer_id, onDelete: SET NULL }
    ProfilePicture: { class: Picture, local: profile_picture_id, onDelete: SET NULL }
    AliasPicture:   { class: Picture, local: alias_picture_id, onDelete: SET NULL }



   Layer:
  columns:
    id:        {type:  integer, notnull:  true } 
    personal_id:     { type: integer, notnull: true }
    name:            { type: string(255), notnull: true }
    picture_id:  { type: integer, primary: true }

    privacy_setting: { type: string(64), notnull: true }  
  relations:
    Personal: { local: personal_id, foreign: id, onDelete: CASCADE }



    abstract class BasePersonal extends sfDoctrineRecord
       {
        public function setTableDefinition()
        {
            $this->setTableName('personal');
       $this->hasColumn('user_id', 'integer', null, array(
         'type' => 'integer',
         'notnull' => true,
         ));

             $this->hasColumn('primary_layer_id', 'integer', null, array(
         'type' => 'integer',
         ));



   public function setUp()
   {
    parent::setUp();
        $this->hasOne('Layer as PrimaryLayer', array(
         'local' => 'primary_layer_id',
         'foreign' => 'id',
         'onDelete' => 'SET NULL'));

       $this->hasMany('Layer', array(
         'local' => 'id',
         'foreign' => 'personal_id'));



           abstract class BaseLayer extends sfDoctrineRecord
            {
           public function setTableDefinition()
         {
              $this->setTableName('layer');
              $this->hasColumn('personal_id', 'integer', null, array(
               'type' => 'integer',
              'notnull' => true,
                ));


       public function setUp()
         {
             parent::setUp();
             $this->hasOne('Personal', array(
         'local' => 'personal_id',
         'foreign' => 'id',
         'onDelete' => 'CASCADE'));

任何身体,帮助我。

1 个答案:

答案 0 :(得分:1)

在schema.yml中删除了这一行,让Doctrine执行主键。

id:        {type:  integer, notnull:  true }