Я был на этом несколько часов без решения. Я думал о laravel отношениях, но не знаю, как передать второе условие, потому что мне нужно связать с 3 таблицами. Я хотел бы использовать запрос ниже в laravel.Сложный INNER JOIN Mysql Query From 3 Tables in 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 выписывает broadcaster_id.
- радиопередачи: где сообщение радиостанции сохраняется.
- seen_broadcast: где информация подписчиков сохраняется при чтении трансляции. Это помогает нам предоставлять подробную статистику для вещателя.
user_id = subscriber_user_id, broadcast_id = broadcast_message_id
Я хочу, чтобы иметь возможность получать трансляции со всех вещателей, на которых пользователь подписался и не видел.
Запрос выше в настоящее время работает вне laravel.
Операции CREATE и INSERT И желаемый результат – Strawberry
Есть 3 таблицы. 1. подписки: подписчик подписывается на broadcaster_id 2. трансляции: там, где сохраняется сообщение телеканала 3: seen_broadcast: где информация подписчиков сохраняется при чтении трансляции. Это помогает нам предоставлять подробную статистику для вещателя. 'user_id = subscriber_user_id, broadcast_id = broadcast_message_id' Я хочу иметь возможность получать трансляции со всей вещательной компании, на которой пользователь подписался и не видел. Я надеюсь, что это достаточно ясно – Overcomer
Я думаю, что вам не хватает ключевых полей, которые внутренние ссылки соединения на table1 inner join table2 на table1.field = table2.field – ChelseaStats