1
我有三個表。codeigniter學說多對多關係
User
id
Group
id
UserGroup
user_id
article_id
date_joined
現在我有三個獨立的模型來建立關係。
//用戶模型
<?php
class User extends Doctrine_Record
{
// define table columns in this function
public function setTableDefinition() {
}
// setup some options
public function setUp() {
$this->hasMany('Group as Groupss', array(
'local' => 'user_id',
'foreign' => 'group_id',
'refClass' => 'UserGroup'
));
// causes 'created_at' and 'updated_at' fields to be updated automatically
$this->actAs('Timestampable');
}
}
//組模式
<?php
class Group extends Doctrine_Record
{
// define table columns in this function
public function setTableDefinition() {
}
$this->hasMany('User as Users', array(
'local' => 'group_id',
'foreign' => 'user_id',
'refClass' => 'UserGroup'
));
}
}
//羣組
<?php
class UserGroup extends Doctrine_Record
{
public function setTableDefinition()
{
$this->hasColumn('user_id', 'integer', 4, array(
'primary' => true
)
);
$this->hasColumn('achievement_id', 'integer', 4, array(
'primary' => true
)
);
$this->hasColumn('date_completed', 'timestamp', 25);
}
}
,現在我想要做的是建立我的控制器內部的關係:
$user = Doctrine::getTable('User')->findOneByEmail('[email protected]');
$group = Doctrine::getTable('Group')->findOneByID('1');
$user->Group = $user;
兩個SQL命令返回一個結果,當我運行控制器我收到以下錯誤:
Fatal error: Uncaught exception 'Doctrine_Record_UnknownPropertyException' with message 'Unknown record property/related component "User" on "Group"' in
羣組的多元化實際上是對我的計算器後一個錯字(和已被更新)。您發給我的指南是我下面的指南,這就是爲什麼我不確定我收到錯誤。我注意到他們在教程中使用 「class User extends BaseUser」,或許這跟它有關係? –
它也值得注意我在我的關係表中添加了一列(date_completed) –
BaseUser是由Doctrine生成的類,它反映了YAML配置在給定時間包含的所有信息。這只是代碼分離的問題,所以我無法想象這會成爲問題的根源。您可以嘗試在YAML配置的不同目錄中生成模型,並查看是否存在差異? – K4emic