Redbean php对同一个表的多个多对多关系

Posted

技术标签:

【中文标题】Redbean php对同一个表的多个多对多关系【英文标题】:Redbean php multiple many-to-many relations to same table 【发布时间】:2015-07-09 19:37:25 【问题描述】:

这是我的情况:用户有喜欢的对象列表和不喜欢的列表。 我想这样做:

list($cat, $dog) = R::dispense('object', 2);
$user->sharedLikedobjectsList[] = $cat;
$user->sharedDislikedobjectsList[] = $dog;

但毕竟 Redbeanphp 会在内部创建 2 行的单个表 (object_user)。 我应该怎么做才能在 $user bean 上拥有 2 个不同的表和可访问的属性?

【问题讨论】:

【参考方案1】:

使用 $bean->link() 方法为你的外键表创建一个别名。

比如这样:

$user->link("pet",array("some_prop"=>"some_value"))->sharedPet = dog;

【讨论】:

以上是关于Redbean php对同一个表的多个多对多关系的主要内容,如果未能解决你的问题,请参考以下文章

MS Access:对多个表的交叉表查询(多对多关系)

多个多对多关系(循环关系)

数据库一对一对多多对多关系

Laravel 中多对多关系中连接表的命名约定

数据库设计中,多对多关系使用使用逗号分割关联讨论

typeORM 多对多关系不同情况的处理