多対多のSQLクエリを実行する方法を理解しようとしていますが、問題が発生しました。
私のdb構造は次のとおりです。
projects_users_roles: project_id, user_id, role_id
user_roles: id, name
projects: id, name, user_id
したがって、私のクエリでは、user_id = 23のすべてのプロジェクトと、projects_users_rolesでそのプロジェクトに割り当てられているロール名を選択したいと思います。
私はそれを持っていると思ったが、それはFALSEを返す
$query = "
SELECT p.name AS project_name
, r.name AS role_name
FROM projects AS p
JOIN projects_users_roles AS a
ON a.project_id = p.id
JOIN users_roles AS role
ON role.id = a.role_id WHERE a.user_id = 23
";
$result = mysql_query($query);
var_dump($result);