我将在线网站复制到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'));
任何身体,帮助我。
答案 0 :(得分:1)
在schema.yml中删除了这一行,让Doctrine执行主键。
id: {type: integer, notnull: true }