私はCodeIgniterでクエリビルダーを使用して2つのテーブルからデータを選択する方法は?
'SELECT a.id, a.name, a.date, c.name FROM artist as a, country as c WHERE a.country_id=c.id'
のMySQL 5に完璧に動作し、このクエリは、基本的には、アーティストのテーブルからID、名前と日付を選択し、国のテーブルからその適切な名前を持つ国のIDに置き換えられています。
注:artist.country_idは外部キーです(country.id)。すべてのアーティストはある国に属し、そのテーブルにはcountry_idがあります。私はアーティストのためのデータを取る必要があるだけでなく、適切な名前でcountry_idを置き換える必要があります。私は国の番号を表示したくない、私は国の名前を表示したい。
$artists = $this->db->query('SELECT a.id, a.name, a.date, c.name FROM artist as a, country as c WHERE a.country_id=c.id');
私が直面する問題は、artist.nameはcountry.nameによって上書きされていると私は、その結果で唯一の国の名前を、アーティスト名が表示されません。
CodeIgniterクエリービルダーでこれをどのように動作させることができますか?
私はCodeIgniterのバージョン3
Editを使用:より多くのコードを追加:結果の
$this->db->select('artist.id', 'artist.name', 'artist.date', 'country.name', false);
$this->db->from('artist');
$this->db->join('country', 'country.id=artist.country_id');
$artists = $this->db->get();
パート:結果で
[0] => stdClass Object
(
[id] => 1
[name] => Macedonia
[date] => 1979-10-10
)
[1] => stdClass Object
(
[id] => 2
[name] => Britain
[date] => 2003-01-01
)
ませアーティスト名を。国名はこのフィールドを上書きします。
は、クエリビルダ –