【发布时间】:2014-09-27 19:13:06
【问题描述】:
我有两张桌子。
message - id, title, content
user - id, name
我有一个数据透视表。
message_user - message_id, user_id_sender, user_id_receiver
一条消息可以由 1-0(sender 可以为空)用户发送,用 user_id_sender 定义 一条消息可以被 1-N 个用户接收,由 user_id_receiver
定义我正在尝试在 Eloquent 中定义它。
我唯一的解决办法是:
class Message
public function users()
{
return $this->belongsToMany(
'User',
'message_user',
'user_id_sender',
'user_id_receiver');
}
// 代码中的某处
$message = $this->messageRepository->store($message);
$message->users()->attach($message->id, array(
'message_id' => $message->id,
'user_id_sender' => $userSender->id,
'user_id_receiver' => $userReceiver->id
));
这是我能想到的唯一解决方案,但感觉像是一种解决方法。有没有合适的方法来实现这一点?
【问题讨论】:
标签: laravel many-to-many eloquent relationship