Пожалуйста, помогите мне понять правильный синтаксис соединения.
У меня есть таблица с именем инвентарь , которая имеет:
trans_id
trans_items items -> item_id
trans_user employees -> person_id
trans_date
trans_comment
trans_inventory
Как вы можете видеть выше, trans_items являетсявнешний ключ в таблице элементов, а trans_user - внешний ключ в таблице сотрудников, а идентификатор сотрудника - внешний ключ для таблицы сотрудников.
Теперь я хочу отобразить в HTML таблицу инвентаризации, но вместо отображенияидентификатор сотрудника, я хочу, чтобы отображалось имя сотрудника.
РЕДАКТИРОВАТЬ ................................................ поэтому я смог отобразить только фамилию сотрудника с этим кодом:
$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.пожалуйста, помогите.