Как выбрать имена, используя таблицу ссылок?
Поэтому я проверил, разрешено ли вам просматривать эту папку (в настоящее время проверяется, является ли ip моим домашним ip)
Я хочу, чтобы эта проверка была обновлена, чтобы проверить, есть ли у вашей учетной записи права. Поэтому я хочу получить все имена из gallery_folders, где user_id =:user_id (да, pdo, но это не имеет значения для этого)
SELECT f.name
FROM gallery_folders as f
LEFT JOIN gallery_link as p
WHERE f.id = p.folder_id
AND p.user_id = :user_id
Это где я застрял, я не уверен, как добавить user_id
к этому, так что он получит только все (p.folder_id where user_id=:user_id)
Структура базы данных при необходимости:
Папки
- gallery_folders
- Я бы
- название
пользователей
- gallery_users
- Я бы
- имя пользователя
- пароль
- знак
Таблица ссылок
- gallery_link
- Я бы
- Идентификатор пользователя
- галерея
1 ответ
Если вам нужны только папки, в которых у пользователя есть соответствующие права, вы можете изменить объединение с LEFT JOIN
в INNER JOIN
, Вы также должны исправить свое заявление о присоединении так, чтобы оно ON f.id = p.folder_id
вместо WHERE f.id = p.folder_id
,
Я думаю, что это то, что вы после:
SELECT f.name
FROM gallery_folders f
INNER JOIN gallery_link p
ON f.id = p.folder_id
WHERE p.user_id = :user_id