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

时间:2013-09-10 10:43:03

标签: php laravel laravel-4

我正在使用laravel 4中的用户消息系统。所以在简化版本中我​​必须表

第一张表

用户

user_id | USER_NAME

第二张表

讯息

message_id | message_from_user_id | message_to_user_id | message_content |

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

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

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

1 个答案:

答案 0 :(得分: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');
    }
}