sql >> Base de Datos >  >> RDS >> Mysql

CodeIgniter/PHP/MySQL:Recuperación de datos con JOIN

Jon tiene razón. He aquí un ejemplo:

$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();

Esto devolverá objetos que tienen las propiedades ->id, ->title, ->year, ->totaltime y ->poster_url. No necesitará el código adicional para obtener los datos de cada fila.

No olvide que si la sintaxis de Active Record se vuelve un poco difícil de manejar, puede usar consultas SQL completas y obtener los mismos resultados:

$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();

Ambos formularios garantizarán que sus datos se escapen correctamente.

Registro activo de CodeIgniter

Enlace de consultas en CodeIgniter