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

cjm*_*ing 0 php laravel laravel-4

我在laravel 4中将用户发送到用户消息系统.因此,在简化版本中,我必须使用表格

第一张桌子

用户

user_id | 用户名

第二张桌子

消息

message_id | message_from_user_id | message_to_user_id | message_content |

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

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

我很困惑如何在这种情况下使用外键来获得一个有两个用户的消息?

ehp*_*ehp 6

看看这个: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');
    }
}
Run Code Online (Sandbox Code Playgroud)