 |
CI ช่วยดูฟังก์ชันการ join table ให้ทีครับ สร้ง My_Model แล้ว extends CI_Model มาอีกทีครับ |
|
 |
|
|
 |
 |
|
Controller
Code (PHP)
function index()
{
$this->load->helper('dump');
$row = $this->product->_join('pm_categories','pm_products.category_id = pm_categories.category_id')->get('pm_products');
print_r($row);
}
อย่างนี้ป่ะครับ
|
 |
 |
 |
 |
Date :
2013-09-06 15:42:58 |
By :
WiTT |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เปล่าหรอกครับผมดูจาก error sql
SELECT * JOIN `pm_categories` ON `pm_products`.`category_id` = `pm_categories`.`category_id`
|
 |
 |
 |
 |
Date :
2013-09-06 16:11:51 |
By :
WiTT |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตรง .get() ไม่เห็นระบุตารางหลักที่ต้องการดึง เหมือนคุณข้ามไป join เลยครับ
ผิดพลาดไงก็ขออภัยด้วยครับ
|
 |
 |
 |
 |
Date :
2013-09-06 16:13:01 |
By :
WiTT |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
.ในฟังก์ชัน _join ผมเปลี่ยนมาเป็นแบบนี้ก็ยังไม่ได้ครับ
Code (PHP)
$this->db->select('*');
$this->db->from('pm_products');
$this->db->join('pm_categories','pm_products.category_id = pm_categories.category_id',$option);
$row = $this->db->get();
แต่ถ้าใช้ query ก็ได้ครับ
Code (PHP)
public function _join($table_name, $on, $option = 'inner')
{
if(empty($table_name) || empty($on))
return false;
$row = $this->db->query("SELECT * FROM ". $this->table_name ." ".$option ." ". $table_name ." ON ".$on)->result();
return $row;
}
|
 |
 |
 |
 |
Date :
2013-09-06 16:59:58 |
By :
fogza |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วครับ แต่ยังไม่ค่อยเรียบร้อย ขาดเรื่อง where ไว้เดี๋ยวค่อยทำต่อ
My_Model.php
public function get_join($select, $join = array(), $where = '')
{
$this->db->select($select,false);
$this->db->join($join[0], $join[1]);
return $this;
}
Controllers
$date['product] = $this->product_model->get_join(..., ...)->get();
|
ประวัติการแก้ไข 2013-09-07 02:52:47
 |
 |
 |
 |
Date :
2013-09-07 02:52:14 |
By :
fogza |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|