適切な結合構文を理解するのを手伝ってください。
次のものを持つinventoryという名前のテーブルがあります。
trans_id
trans_items items -> item_id
trans_user employees -> person_id
trans_date
trans_comment
trans_inventory
上記のように、trans_items は items テーブルの外部キー、trans_user は employees テーブルの外部キー、employee id は people テーブルの外部キーです。
今私がやりたいことは、在庫表を HTML で表示することですが、従業員 ID を表示する代わりに、従業員 NAME を表示したいと考えています。
編集.................................................................そう次のコードを使用して、従業員の姓のみを表示できるようにしました。
$this->db->select('inventory.*, items.name ,people.last_name');
$this->db->from('inventory');
$this->db->join('items', 'inventory.trans_items = items.item_id' , 'left');
$this->db->join('people', 'inventory.trans_user = people.person_id' , 'left');
$this->db->where('deleted', 0);
$this->db->order_by('trans_date desc');
モデルコード:
foreach($report_data as $row)
{
$tabular_data[] = array($row['name'], $row['last_name'],$row['trans_date'], $row['trans_inventory'], $row['trans_comment']);
}
しかし、私はそれが姓と名である必要があるので、これらを行いました:
$this->db->select('inventory.*, items.name ,CONCAT(people.first_name, " ",people.last_name) as employee');
$this->db->from('inventory');
$this->db->join('items', 'inventory.trans_items = items.item_id' , 'left');
$this->db->join('people', 'inventory.trans_user = people.person_id' , 'left');
$this->db->where('deleted', 0);
$this->db->order_by('trans_date desc');
モデルコード:
foreach($report_data as $row)
{
$tabular_data[] = array($row['name'], $row['employee'],$row['trans_date'], $row['trans_inventory'], $row['trans_comment']);
}
concat 関数を使用するとエラーになります。助けてください。