1

ReadBean 3.5.1 (MySQL を使用) を使用してメッセージング システムを構築しています。各ユーザーは複数のメッセージを持つことができるため、次のような RedBean の単純な 1 対多の関係になります。

$sender = R::load('user', 1);
$message = R::dispense('message');

$message->stuff = "Hello world";

$sender->ownMessage[] = $message;

ここでやりたいことは、RedBean の抽象化を使用して、受信者のユーザーをメッセージに関連付けることです。受信者の ID を取得してmessagesテーブルの列に手動で保存できますが、代わりに RedBean でこれを行う方法はありますか?

4

1 に答える 1

2

これに対する解決策は、実際には投稿されたものとは少し逆です。メッセージを作成し、2 つのユーザー モデルを割り当てる必要があります。次に例を示します。

// 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)。メッセージ テーブルは次のようになります。

+----+-------------+-----------+--------------+
| id | title       | sender_id | recipient_id |
+----+-------------+-----------+--------------+
|  6 | Hello world |         3 |            4 |
+----+-------------+-----------+--------------+
于 2013-11-14T07:50:16.753 に答える