sql >> Databasteknik >  >> RDS >> Mysql

CodeIgniter/PHP/MySQL:Hämtar data med JOIN

Jon har rätt. Här är ett exempel:

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

Detta kommer att returnera objekt som har egenskaperna ->id, ->title, ->year, ->totaltime och ->poster_url. Du behöver inte tilläggskoden för att hämta data från varje rad.

Glöm inte att om Active Record-syntaxen blir lite svårhanterlig kan du använda fullständiga SQL-frågor och få samma resultat:

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

Båda formulären säkerställer att dina data escapes korrekt.

CodeIgniter Active Record

Frågebindning i CodeIgniter



  1. Fel ORA-65048 vid ändring av användarlösenord i containerdatabasen (CDB)

  2. Igen och igen! Hantera återkommande händelser i en datamodell

  3. Django - OperationalError:(2006, 'MySQL-servern har försvunnit')

  4. Ändra visningsformat för datum- och tidsfält i MySQL PHP