首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RedBean中的多重关系

RedBean中的多重关系
EN

Stack Overflow用户
提问于 2013-11-13 07:51:00
回答 1查看 639关注 0票数 1

我正在使用ReadBean 3.5.1 (使用MySQL)构建一个消息传递系统。每个用户都可以有多条消息,因此对于RedBean来说,这是一个简单的一对多的关系,如下所示:

代码语言:javascript
复制
$sender = R::load('user', 1);
$message = R::dispense('message');

$message->stuff = "Hello world";

$sender->ownMessage[] = $message;

我现在要做的是使用RedBean抽象将收件人用户与消息关联起来。我可以手动获取收件人的ID并将其存储在messages表中的一列中,但是有什么方法可以用RedBean来代替呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-14 07:50:16

这个问题的解决方案实际上有点落后于发布的内容。您需要创建一条消息并为其分配两个用户模型,而不是相反的方式。下面是一个例子:

代码语言:javascript
复制
// Make some models
list($sender, $recipient) = R::dispense('user', 2);
$message = R::dispense('message');

// Set some data
$sender->name = 'Sender';
$recipient->name = 'Recipient';
$message->title = "Hello world";

// Associate users and message
$message->sender = $sender;
$message->recipient = $recipient;

// Store everything
R::store($message);

真的很容易。RedBean负责在调用R::store($message)时存储更新的用户信息。然后,messages表看起来如下所示:

代码语言:javascript
复制
+----+-------------+-----------+--------------+
| id | title       | sender_id | recipient_id |
+----+-------------+-----------+--------------+
|  6 | Hello world |         3 |            4 |
+----+-------------+-----------+--------------+
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19948262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档