【发布时间】:2016-07-04 20:06:04
【问题描述】:
我已经解决了几个小时没有解决方案。我想到了 laravel 关系,但不知道如何通过第二个条件,因为我需要与 3 个表关联。我想在 laravel 中使用下面的查询。
SELECT
subscriptions.subscribed_to,
broadcasts. *,
FROM subscriptions
INNER JOIN broadcasts
WHERE subscriptions.subscriber = {$user_id}
AND (
SELECT COUNT(*) FROM seen_broadcasts
WHERE user_id = {$user_id}
AND broadcast_id = broadcasts.id
) = 0
ORDER BY broadcast.date DESC
有 3 张桌子。
- 订阅:subscriber_id 订阅广播者_id。
- 广播:保存广播者消息的位置。
-
seen_broadcast:订阅者在阅读广播时保存的信息。这有助于我们向广播公司提供详细的统计数据。
user_id = subscriber_user_id, broadcast_id = broadcast_message_id
我希望能够从 userA 订阅但未看过的所有广播公司获取广播。
上面的查询目前在 laravel 之外有效。
【问题讨论】:
-
CREATE 和 INSERT 语句以及期望的结果
-
有3张桌子。 1.subscribes:subscriber_id 订阅了broadcaster_id 2.broadcasts:保存广播者消息的地方 3:seen_broadcast:保存订阅者阅读广播时的信息。这有助于我们向广播公司提供详细的统计数据。
user_id = subscriber_user_id, broadcast_id = broadcast_message_id我希望能够从用户A 订阅但未看过的所有广播公司获得广播。我希望这足够清楚 -
我认为您缺少 table1 上的内连接链接的关键字段 table1.field = table2.field 上的内连接 table2
-
请发一个类图或相关模型
标签: php mysql laravel laravel-5 inner-join