Je pense que vous avez besoin de mysql GROUP_CONCAT
Faites quelque chose comme ceci :-
SELECT
movies.*,
group_concat(links.link ', ') as links
FROM movies
LEFT JOIN links
ON links.movieid = movies.movieid
GROUP BY movies.movieid
Vous obtiendrez une liste de liens séparés par des virgules pour chaque film. Que vous pouvez extraire comme ceci :-
foreach ($movies->result() as $row) {
$linksArray = explode(",",$row->links);
}
Mises à jour Je pense que c'est la seule façon d'obtenir les résultats sans avoir plusieurs lignes de résultats pour un seul film avec plusieurs liens.
Faites juste attention à la longueur maximale de caractères que vous pouvez obtenir dans le résultat - par défaut 1024 caractères. Lisez ceciMysql group_concat_max_length et Longueur maximale de la concat de groupe pour savoir comment outrepasser la limite.
Et comme Dan Grossman l'a souligné, si vous pensez que les liens peuvent contenir des virgules, utilisez un délimiteur différent ou inhabituel.