cakephp模型关系

时间:2011-08-10 16:22:56

标签: cakephp model

以下是“用户”表和“友谊”表。 当给定用户登录时,我将检索所有友谊,其中$ id == user_a_id OR $ id == user_b_id。

| Friendships |
| id | user_a_id | user_b_id | created | modified |
|  1 |     1     |     2     | created | modified |
|  2 |     1     |     5     | created | modified |
|  3 |     3     |     1     | created | modified |
|  4 |     2     |     4     | created | modified |
|  5 |     3     |     2     | created | modified |

| Users |
| id | first_name | last_name | created | modified |
|  1 | Barrack    | Obama  | -- | -- |
|  2 | John       | McCain | -- | -- |

当奥巴马登录时,我想显示他朋友姓名的列表,因此查询结果还需要包含来自Users表的2行。

如何与Cake建立这种关系?

友谊有很多用户吗?是否有关于此的任何教程?

由于

编辑:

我只想指定以下内容:

$this->set('friendships', $this->Friendship->find('all' , IncludeBothUsersInfoInQuery ));

这样,视图中的每个友谊都如下所示,我可以访问视图中的两个用户数据:

[Friendship]
    [id]
    [user_a_id]
    [user_b_id]
    [created]
    [modified]
        [User_A_Info]
            [id]
            [first_name]
            [last_name]
            [created]
            [modified]
        [User_B_Info]
            [id]
            [first_name]
            [last_name]
            [created]
            [modified]

1 个答案:

答案 0 :(得分:1)

友谊属于User_A和User_B(您需要2个belongsTo关系),记得设置外键。你熟悉可用,对吧?如果没有,请查看,您将看到如何查询所需的数据。您可能还想设置User hasMany Friendship。