Tôi mới sử dụng PHP/MySQL và siêu mới đối với CodeIgniter .. Tôi có thông tin trong nhiều bảng MySQL. Tôi muốn lấy nó với JOIN, nơi các khóa chính của bảng bằng $ variable ... Làm thế nào tôi có thể làm điều đó và nhận được tất cả các trường mà không có trường khóa chính?CodeIgniter/PHP/MySQL: Lấy dữ liệu với JOIN
Những gì tôi đang làm bây giờ là thế này (chỉ có hai bảng tham gia ở đây):
function getAll($id) {
$this->db->select('*');
$this->db->from('movies');
$this->db->join('posters', 'movies.id= posters.id');
// WHERE id = $id ... goes here somehow...
$q = $this->db->get();
if ($q->num_rows() == 1) {
$row = $q->row();
$data = array(
'id' => $row->id,
'title' => $row->title,
'year' => $row->year,
'runtime' => $row->runtime,
'plotoutline' => $row->plotoutline,
'poster_url' => $row->poster_url
);
}
$q->free_result();
return $data;
id (PK), tiêu đề, năm, thời gian chạy và plotoutline là các cột từ bảng đầu tiên và poster_url là một lĩnh vực từ bảng thứ hai. Bảng thứ hai cũng chứa một cột ID (PK) mà tôi không muốn Truy xuất vì tôi đã có.
Bằng cách này tôi sẽ tham gia giữa hai bảng và nhận được tất cả các kết quả phải không? Làm thế nào tôi có thể chỉ định ID từ hàng mà tôi muốn lấy dữ liệu? Nội dung như 'WHERE movies.id = $ id' .. – Jonathan
Tôi đã thêm một số thông tin khác ở trên. :) – GloryFish
Có sự khác biệt về hiệu năng giữa 'Bản ghi hoạt động' và mã SQL điều chỉnh không ??? – Jonathan