2015-03-18 3 views
0

мне нужна ваша помощь, я имею таблицу как этот tableCodeigniter конструктор запросов присоединиться к 3 таблицы

я хочу, чтобы просмотреть детали продукта, когда вид кнопки с id_product нажата. Это то, что я сделал .. Кажется, мне нужна одиночная цитата между id_product .. или есть построитель запросов от codeigniter для достижения этого?

function get_detail_product($id_product){ 
     $query = "SELECT 
     p.id_product, p.product_name, p.price, p.discount, c.category, b.brand_name, p.description, p.spesification, p.picture, p.begin_date, p.end_date, p.qty 
     FROM tbl_product as p, tbl_category as c, tbl_brand as b 
     WHERE p.id_Category = c.id_Category and p.id_brand = b.id_brand 
     and id_product = ".$id_product; 
     return $this->db->query($query); 
    } 

ответ

2

У CodeIgniter есть запрос связующего, который может достичь чего-то подобного. Я тщательно не смотрел через SQL и не знаю, если это действительно, но запрос как это будет выглядеть примерно так:

$this->db->select('p.id_product, p.product_name, p.price, p.discount, c.category, b.brand_name, p.description, p.spesification, p.picture, p.begin_date, p.end_date, p.qty') 
     ->from('tbl_product as p, tbl_category as c, tbl_brand as b') 
     ->where('p.id_Category = c.id_Category') 
     ->where('p.id_brand = b.id_brand') 
     ->where('id_product', $id_product); 
     $query = $this->db->get(); 
     return $query; 

Я немного неясно, что вы пытаетесь достичь, я сделал не полностью понять вопрос. Вы просто пытаетесь заставить запрос работать, или ищете совет, чтобы попытаться собрать всю информацию в одной строке? Если вы хотите присоединиться к столам, вы можете попробовать что-то вроде:

$this->db->select('*'); 
    $this->db->from('tbl_product'); 
    $this->db->join('tbl_category', 'tbl_category.id_category = tbl_products.id_category'); 
    $this->db->join('tbl_brand', 'tbl_brand.id_brand = tbl_products.id_brand', 'inner'); 
    $this->db->where('id_product', $id_product); 
    $query = $this->db->get(); 
    return $query; 
+0

это работа .. thx man ..it действительно полезно –

0

Похоже, вы не возвращаете его правильно. Попробуй это. (не проверено)

$this->db->select('p.id_product, p.product_name, p.price, p.discount, c.category, b.brand_name, p.description, p.spesification, p.picture, p.begin_date, p.end_date, p.qty'); 
$this->db->join('tbl_category AS c', 'p.id_Category = c.id_Category'); 
$this->db->join('tbl_brand AS b', 'p.id_brand = b.id_brand'); 

$query = $this->db->get_where('tbl_product AS p', array('p.id_product' => $prod_id)); 

return $query->result_array(); 
Смежные вопросы