[英]Inner join 3 different tables codeigniter
我需要加入三個相互獲取的表(不集中到一個表)
第一張桌子: 出勤
---------------------------------------------------------------
| id | emp_code | emp_name | date | time |
| 001 | TNY | Tony |01.01.2001| 07.00 |
| 002 | PPR | Pepper |01.01.2001| 07.50 |
---------------------------------------------------------------
第二表: 員工
---------------------------------------------------------
| emp_code | emp_name |division_code| address |
| TNY | Tony | D001 | New york |
| PPR | Pepper | D002 | California|
---------------------------------------------------------
第三表: 除法
-----------------------------
|division_code|division_name|
| D001 | Finance |
| D002 | Marketing |
-----------------------------
我想要得到的結果是:
-----------------------------------------------------------------------------
| id | emp_code | emp_name |division_name| date | time |
| 001 | TNY | Tony | Finance |01.01.2001| 07.00 |
| 002 | PPR | Pepper | Marketing |01.01.2001| 07.50 |
-----------------------------------------------------------------------------
我的模型代碼:
function ShowData()
{
$this->db->select('attendance.emp_code, attendance.emp_name,division.division_name,attendance.date,attendance.time');
$this->db->from('attendance');
$this->db->join('employee', 'employee.emp_code = attendance.emp_code');
$this->db->join('division', 'employee.division_code = division.division_code');
$query = $this->db->get();
}
我的代碼的結果為空,沒有顯示任何數據,我認為這是因為我的查詢
您的方法未returning
任何內容:
$this->db->selct('a.id, a.emp_code, a.emp_name, d.divison_node, a.date, a.time');
$this->db->join('employee AS e', 'e.emp_code = a.emp_code');
$this->db->join('division AS d', 'd.division_code = e.division_code');
return $this->db->get('attendance AS a')->result();
您的代碼缺少最終的數據獲取器:
function ShowData()
{
$this->db->select('attendance.emp_code, attendance.emp_name,division.division_name,attendance.date,attendance.time');
$this->db->from('attendance');
$this->db->join('employee', 'employee.emp_code = attendance.emp_code');
$this->db->join('division', 'employee.division_code = division.division_code');
$query = $this->db->get();
$data = $query->result_array(); // here will be stored the selected data as an array
}
$this->db->get();
只需使用CI查詢構建器創建一個SQL語句並執行它, 它就不會返回SQL輸出數據,您只會收到查詢本身的對象。
但是$query->result_array();
獲取SQL輸出數據並為您格式化數據-在這種情況下為數組。
如果要返回數據,只需將此行添加到函數主體中:
return $data;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.