Tôi nghĩ bạn cần có GROUP_CONCAT của mysql
Làm điều gì đó như sau:-
SELECT
movies.*,
group_concat(links.link ', ') as links
FROM movies
LEFT JOIN links
ON links.movieid = movies.movieid
GROUP BY movies.movieid
Bạn sẽ nhận được danh sách các liên kết được phân tách bằng dấu phẩy cho mỗi bộ phim. Bạn có thể trích xuất như thế này:-
foreach ($movies->result() as $row) {
$linksArray = explode(",",$row->links);
}
Cập nhật Tôi nghĩ đây là cách duy nhất bạn có thể nhận được kết quả mà không cần có nhiều hàng kết quả cho một bộ phim có nhiều liên kết.
Chỉ cần cẩn thận về độ dài ký tự tối đa mà bạn có thể nhận được trong kết quả - theo mặc định là 1024 ký tự. Đọc phần này Mysql group_concat_max_length và Độ dài tối đa của concat nhóm để biết cách vượt qua giới hạn.
Và như Dan Grossman đã tìm ra, nếu bạn cảm thấy các liên kết có thể chứa dấu phẩy, hãy sử dụng dấu phân cách khác hoặc không phổ biến.