2015-10-15 75 views
0

我正在開發電子商務平臺。我有一個正常形式的查詢。我想轉換爲codeigniter。在codeigniter中轉換查詢

這是我的查詢

SELECT products.product_name,products.product_id,products.short_description,pi.img, 
CASE WHEN products.sp_price=0 THEN products.price WHEN products.sp_price!=0 THEN products.sp_price END as pprice FROM 
(`offers_products`) JOIN `products` ON `offers_products`.`product_id` = `products`.`product_id` 
LEFT JOIN (SELECT image_name as img,product_id as pid from product_images GROUP BY pid)pi 
ON `products`.`product_id` = `pi`.`pid` . 

如何轉換這笨查詢。

我試過了,但出現語法錯誤。請幫助我,即時消息codeigniter。

+0

如果你得到一個錯誤,你應該包括它。 – chris85

+0

「轉換爲codeigniter」是什麼意思?你想使用他們的查詢構建器(也稱爲活動記錄)類嗎? –

+0

我想訪問 - >結果(),所以我需要轉換。 –

回答

1

有沒有必要轉換您的查詢。而且這也不是你應該只使用codeigniter查詢的規則。

可以使用

$res = $this->db->query("your query here")->result(); 

$res將有result()你想要的。 這會幫助你。

更多參考,請here

+0

我沒有在該頁面中找到它。 –

+0

我想訪問 - >結果(),我可以這樣做 –

+0

是的,你可以做到這一點,首先試試看,如果你有任何錯誤,回來。 –

0

只需使用

public function method_name() 
{ 
    $query = $this->db->query("SELECT products.product_name,products.product_id,products.short_description,pi.img, CASE WHEN products.sp_price=0 THEN products.price WHEN products.sp_price!=0 THEN products.sp_price END as pprice FROM  (`offers_products`) JOIN `products` ON `offers_products`.`product_id` = `products`.`product_id`  LEFT JOIN (SELECT image_name as img,product_id as pid from product_images GROUP BY pid)pi  ON `products`.`product_id` = `pi`.`pid`"); 
    $result = $query->result_array(); 
    return $result; 
} 

我們使用result_array出於傳遞數據作爲目標陣列

+0

感謝您的回覆。即時嘗試與一個更多的答案,之後,我會試試這個。 –