Doctrine 同一类的多对多学说
我正在尝试在我正在构建的应用程序中创建一个类似社交网络的功能,并希望将一个朋友与另一个朋友关联起来 假设我有:Doctrine 同一类的多对多学说,doctrine,Doctrine,我正在尝试在我正在构建的应用程序中创建一个类似社交网络的功能,并希望将一个朋友与另一个朋友关联起来 假设我有: Friend: connection: doctrine tableName: friend columns: id: type: integer(8) primary: true autoincrement: true name: type: string(75) notnull: true 我
Friend:
connection: doctrine
tableName: friend
columns:
id:
type: integer(8)
primary: true
autoincrement: true
name:
type: string(75)
notnull: true
我如何建立一种多对多的关系,将朋友与自己联系起来
提前感谢您的帮助。
从文档中:
等巢关系
对等嵌套关系是完美的
适合表达关系
类引用自身和
引用类中的列
他们是平等的
这意味着在获取相关的
记录哪一列并不重要
在引用类中,具有主
主类的键值
前面的条款可能很难解释
所以,让我们举个例子。我们
定义一个名为User的类,该类可以
我有很多朋友。注意这里我们是如何
使用“相等”选项
//models/User.php
这里是YAML格式的相同示例。您可以在YAML架构>文件一章中阅读有关YAML的更多信息:
从文档中:
等巢关系
对等嵌套关系是完美的
适合表达关系
类引用自身和
引用类中的列
他们是平等的
这意味着在获取相关的
记录哪一列并不重要
在引用类中,具有主
主类的键值
前面的条款可能很难解释
所以,让我们举个例子。我们
定义一个名为User的类,该类可以
我有很多朋友。注意这里我们是如何
使用“相等”选项
//models/User.php
这里是YAML格式的相同示例。您可以在YAML架构>文件一章中阅读有关YAML的更多信息:
class User extends BaseUser
{
public function setUp()
{
parent::setUp();
// ...
$this->hasMany('User as Friends', array(
'local' => 'user1',
'foreign' => 'user2',
'refClass' => 'FriendReference',
'equal' => true,
)
);
}
}
// models/FriendReference.php
class FriendReference extends Doctrine_Record
{
public function setTableDefinition()
{
$this->hasColumn('user1', 'integer', null, array(
'primary' => true
)
);
$this->hasColumn('user2', 'integer', null, array(
'primary' => true
)
);
}
}
---
# schema.yml
# ...
User:
# ...
relations:
# ...
Friends:
class: User
local: user1
foreign: user2
refClass: FriendReference
equal: true
FriendReference:
columns:
user1:
type: integer
primary: true
user2:
type: integer
primary: true