【发布时间】:2015-06-24 17:00:58
【问题描述】:
使用 Laravel 5,我有一个由用户、对话和消息组成的数据库,由一个名为“conversation_user”的用户和对话之间的数据透视表连接(并由 BelongsToMany 关系形成)。架构如下:
| USERS | CONVERSATION | MESSAGES | CONVERSATION_USER |
| id | id | id | user_id |
| username | timestamps | conversation_id | conversation_id |
| password | | user_id | |
| | | message | |
所以基本上我正在尝试使用 conversation_user 来获取与登录用户相关的所有会话 ID,然后使用这些结果来获取与该会话相关的最后一条消息。
在 SQL 术语中,这相当于:
SELECT messages.`message` FROM conversation_user INNER JOIN messages ON
conversation_user.conversation_id=messages.conversation_id
WHERE conversation_user.user_id=1 ORDER BY messages.id DESC
但是我不知道如何用 Eloquent 实现这一点!
【问题讨论】:
标签: php mysql laravel eloquent