2016-03-27 36 views
4

我創建了一個私人聊天 我的數據庫看起來像這樣查詢私人聊天參與者查詢

+----+--------------------------------------+---------+------------------+---------------------+---------------------+ 
| 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

不知道laravel的語法,但基本上'選擇user_id從t其中receiver_user_id = UNION選擇receiver_user_id從t其中user_id = ' – sagi

+0

工作,謝謝。 – phper

+0

沒問題@phper – sagi

回答

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)); 

將其添加到答案中,以便它不會顯示在未解答的問題中。