sql >> Databáze >  >> RDS >> Mysql

CodeIgniter/PHP/MySQL:Načítání dat pomocí JOIN

Jon má pravdu. Zde je příklad:

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

To vrátí objekty, které mají vlastnosti ->id, ->title, ->year, ->totaltime a ->poster_url. K načtení dat z každého řádku nebudete potřebovat další kód.

Nezapomeňte, že pokud bude syntaxe Active Record trochu nepraktická, můžete použít úplné SQL dotazy a získat stejné výsledky:

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

Oba formuláře zajistí, že vaše data budou správně escapována.

CodeIgniter Active Record

Vazba dotazu v CodeIgniter



  1. Vyhodnocování, když je vyhodnocen výraz v dotazu

  2. MySQL – Jak generovat náhodné číslo

  3. Jak seskupit řádky mysql se stejnou hodnotou sloupce do jednoho řádku?

  4. Odstraňte duplicitní řádky v příkazu SELECT PostgreSQL