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

CodeIgniter/PHP/MySQL:Henter data med JOIN

Jon har ret. Her er et eksempel:

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

Dette vil returnere objekter, der har ->id, ->title, ->year, ->totaltime og ->poster_url egenskaber. Du behøver ikke den ekstra kode for at hente dataene fra hver række.

Glem ikke, hvis Active Record-syntaksen bliver lidt uhåndterlig, kan du bruge fulde SQL-forespørgsler og få de samme resultater:

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

Begge formularer sikrer, at dine data escapes korrekt.

CodeIgniter Active Record

Forespørgselsbinding i CodeIgniter



  1. Opdater kolonner med nulværdier

  2. Problem med returvariabel i bash

  3. MySQL InnoDB-tabeller er korrupte - hvordan rettes det?

  4. Hent Oracle-tabeltypen fra den lagrede procedure ved hjælp af JDBC