以下是“用户”表和“友谊”表。 当给定用户登录时,我将检索所有友谊,其中$ 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]
答案 0 :(得分:1)
友谊属于User_A和User_B(您需要2个belongsTo关系),记得设置外键。你熟悉可用,对吧?如果没有,请查看,您将看到如何查询所需的数据。您可能还想设置User hasMany Friendship。