我正在使用laravel 4中的用户消息系统。所以在简化版本中我必须表
第一张表
用户
user_id | USER_NAME
第二张表
讯息
message_id | message_from_user_id | message_to_user_id | message_content |
因此,在阅读文档后,我了解到用户有很多消息,消息属于User。
但我如何在编码中实际关联它们?
我很困惑如何在这种情况下使用外键来发送一个有两个用户的消息?
答案 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');
}
}