public function chats()
{
return $this->hasMany('App\Chat','sender_id')->orWhere('receiver_id',\Auth::id());
}
我的要求是我想要获取用户发送或接收的消息。我怎么能这样做?
答案 0 :(得分:1)
以下代码可以解决这个问题:
public function chats()
{
return $this->hasMany('App\Chat','sender_id')->union($this->hasMany('App\Chat','receiver_id'));
}
这将返回一个关系,该关系是2个查询的联合 - 一个获取聊天消息,其中给定用户是发送者,另一个是给定用户是接收者。
您现在可以通过 $ user->聊天来访问用户的聊天内容。
答案 1 :(得分:0)
你非常接近。 f = open("myfile", "rb")
接受链式hasMany()
和where()
来电,因此我会像这样进行查询:
orWhere()
正确设置后,您可以使用public function chats()
{
return $this->hasMany('App\Chat')
->where('sender_id', \Auth::id())
->orWhere('receiver_id', \Auth::id());
}
访问从OR发送给当前用户的聊天列表。