Jag tror att du behöver mysqls GROUP_CONCAT
Gör något så här:-
SELECT
movies.*,
group_concat(links.link ', ') as links
FROM movies
LEFT JOIN links
ON links.movieid = movies.movieid
GROUP BY movies.movieid
Du kommer att få en kommaseparerad lista med länkar för varje film. Som du kan extrahera så här:-
foreach ($movies->result() as $row) {
$linksArray = explode(",",$row->links);
}
Uppdateringar Jag tror att detta är det enda sättet du kan få resultaten utan att ha flera resultatrader för en enda film med flera länkar.
Var bara försiktig med den maximala längden på tecken du kan få i resultatet - som standard 1024 tecken. Läs dettaMysql group_concat_max_length och Grupp konkat maxlängd för att veta hur man överskrider gränsen.
Och som Dan Grossman har påpekat, om du känner att länkarna kan innehålla kommatecken, använd en annan eller ovanlig avgränsare.