In PHP, what are some efficient ways to handle data retrieval from multiple tables in a many-to-many relationship?

When dealing with data retrieval from multiple tables in a many-to-many relationship in PHP, one efficient way to handle this is by using SQL JOIN queries to fetch the related data from the tables. By using JOIN queries, you can combine data from multiple tables based on a related column, such as a foreign key. Additionally, utilizing PHP frameworks like Laravel or Symfony can provide built-in methods for handling many-to-many relationships, simplifying the process of retrieving data.

// Example SQL query using JOIN to retrieve data from multiple tables in a many-to-many relationship
$query = "SELECT users.username, roles.role_name
          FROM users
          JOIN user_roles ON users.id = user_roles.user_id
          JOIN roles ON user_roles.role_id = roles.id";

// Execute the query and fetch the results
$result = $pdo->query($query);
$data = $result->fetchAll(PDO::FETCH_ASSOC);

// Loop through the data and display the results
foreach ($data as $row) {
    echo "Username: " . $row['username'] . " | Role: " . $row['role_name'] . "<br>";
}