Jeg tror, du har brug for mysqls GROUP_CONCAT
Gør noget som dette:-
SELECT
movies.*,
group_concat(links.link ', ') as links
FROM movies
LEFT JOIN links
ON links.movieid = movies.movieid
GROUP BY movies.movieid
Du får en kommasepareret liste over links til hver film. Som du kan udtrække sådan her:-
foreach ($movies->result() as $row) {
$linksArray = explode(",",$row->links);
}
Opdateringer Jeg tror, det er den eneste måde, hvorpå du kan få resultaterne uden at have flere resultatrækker for en enkelt film med flere links.
Bare vær forsigtig med den maksimale længde af tegn, du kan få i resultatet - som standard 1024 tegn. Læs denneMysql group_concat_max_length og Gruppe concat maks. længde at vide, hvordan man tilsidesætter grænsen.
Og som Dan Grossman har påpeget, hvis du føler, at linkene kan indeholde komma, skal du bruge en anden eller ualmindelig afgrænsning.