Laravel 4 关系:一条消息属于两个用户


Laravel 4 Relationship: a message belong to two user

我在 laravel 4 中使用户对用户消息传递系统。所以在简化版本中,我必须表

第一个表

用户

user_id |user_name

第二张桌子

消息

message_id |message_from_user_id |message_to_user_id |message_content |

因此,在阅读文档后,我了解到用户有很多消息,消息属于用户。

但是我如何在编码中实际关联它们呢?

我很困惑在这种情况下,我将如何将外键用于将有两个用户的消息?

看看这个: http://laravel.com/docs/eloquent#many-to-many

基本上你需要这样的表结构

用户: id | 用户名

消息: id | 发件人 | 内容

user_messages: user_id | message_id


您可以像这样定义模型

class User extends Eloquent {
    public function messages()
    {
        return $this->belongsToMany('Message');
    }
    public function sent_messages()
    {
        return $this->hasMany('Messages', 'from');
    }
}
class Message extends Eloquent {
    public function from()
    {
        return $this->belongsTo('User', 'from');
    }
    public function to()
    {
        return $this->belongsToMany('User');
    }
}