Mysql
 sql >> Database >  >> RDS >> Mysql

CodeIgniter/PHP/MySQL:recupero dei dati con JOIN

Jon ha ragione. Ecco un esempio:

$this->db->select('movies.id, 
                   movies.title, 
                   movies.year, 
                   movies.runtime as totaltime,  
                   posters.poster_url');
$this->db->from('movies');
$this->db->join('posters', 'movies.id= posters.id');
$this->db->where('movies.id', $id);
$q = $this->db->get();

Questo restituirà oggetti che hanno proprietà ->id, ->titolo, ->anno, ->tempo totale e ->poster_url. Non avrai bisogno del codice aggiuntivo per recuperare i dati da ogni riga.

Non dimenticare, se la sintassi di Active Record diventa un po' ingombrante, puoi utilizzare query SQL complete e ottenere gli stessi risultati:

$sql = "SELECT movies.id,
        movies.title,
        movies.year,
        movies.runtime as totaltime,
        posters.poster_url
        FROM movies
        INNER JOIN posters ON movies.id = posters.id
        WHERE movies.id = ?"

return $this->db->query($sql, array($id))->result();

Entrambi i moduli garantiranno che i tuoi dati vengano evasi correttamente.

CodeIgniter Active Record

Associazione di query in CodeIgniter