查询私人聊天参与者查询

时间:2016-03-27 14:51:21

标签: php mysql laravel laravel-5.2

我创建了一个私聊 我的数据库看起来像这样

+----+--------------------------------------+---------+------------------+---------------------+---------------------+
| id | msg                                  | user_id | receiver_user_id | created_at          | updated_at          |
+----+--------------------------------------+---------+------------------+---------------------+---------------------+
|  1 | In dui magna posuere                 |       1 |                2 | 2016-03-27 11:50:25 | 0000-00-00 00:00:00 |
|  2 | Sed a libero                         |       1 |                2 | 2016-03-27 11:50:41 | 0000-00-00 00:00:00 |
|  3 | Vivamus consectetuer hendrerit lacus |       3 |                1 | 2016-03-27 11:51:09 | 0000-00-00 00:00:00 |
|  4 | Aenean leo ligula                    |       4 |                1 | 2016-03-27 16:13:32 | 0000-00-00 00:00:00 |
+----+--------------------------------------+---------+------------------+---------------------+---------------------+

我试图获取聊天参与者的列表,

因此,如果我是用户ID 1,我的参与者是2,3,4

如果我是用户ID 4我的参与者是1

我不确定该怎么做。 我在laravel 5.2上。但我认为这需要原始查询。

1 个答案:

答案 0 :(得分:0)

$users = PM::select('user_id')
->where('receiver_user_id', '=', \Auth::user()->id)
->union(PM::select('receiver_user_id')->where('user_id', '=', \Auth::user()->id));

将其添加到答案中,以便它无法显示在未回答的问题中。