Mysql
 sql >> Base de données >  >> RDS >> Mysql

CodeIgniter/PHP/MySQL :Récupérer des données avec JOIN

Jon a raison. Voici un exemple :

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

Cela renverra les objets qui ont les propriétés ->id, ->title, ->year, ->totaltime et ->poster_url. Vous n'aurez pas besoin du code supplémentaire pour récupérer les données de chaque ligne.

N'oubliez pas que si la syntaxe d'Active Record devient un peu compliquée, vous pouvez utiliser des requêtes SQL complètes et obtenir les mêmes résultats :

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

Les deux formulaires garantiront que vos données sont correctement échappées.

Enregistrement actif CodeIgniter

Liaison de requête dans CodeIgniter