I'm trying to get a list of conversations and the participants associated with it in one row along with the last message for a given user. The result I'm looking for is this:

```
**|  conversationId  |  participants  |  text  | timestamp |**
           67           aester,bester    Hello    00:00:00

```

The above model is just one row. I am trying to get all rows with the above result. The text column is the last message associated with that conversation.

Here are my models:

Users

```
userId|username|
   87   aester
   89   cester
   96   bester

```

Conversations

```
|conversationId|
      67
      68

```

Messages

```
| messageId |  text  |  timestamp  |  conversation_id  |  user_id
     41        Hello     00:00:00           67               87
     42        Hey       00:00:00           68               89 

```

UserConversations

```
| id | conversation_id | user_id
   3          67            87
   4          67            96
   5          68            89

```

How can I query the above models to get the desired result?

CURRENT UPDATE:

```
SELECT conversations.`conversationId` as conversationId, 
GROUP_CONCAT(users.`username`) as participants FROM users
LEFT JOIN user_conversations 
ON users.`userId` = user_conversations.`user_id`
LEFT JOIN conversations
ON user_conversations.`conversation_id` = 
conversations.`conversationId`
WHERE EXISTS (SELECT * FROM user_conversations WHERE 
user_conversations.user_id = 87)
GROUP BY conversations.`conversationId`;

```

The above is producing this which is what I want except I cant figure out how to get the last messages in each row also:

```
|  conversationId  |  participants  |
         67           aester,bester
         68              cester

```