Php – SELECT from subquery in Codeigniter Active Record

codeigniterMySQLPHP

How would I do the following query in Codeigniter ActiveRecord : –

SELECT *, 

(SELECT 
        image_path
    FROM
        image
    WHERE
        image_table = 'model'
            AND image_table_id = model_id
    GROUP BY image_table_id
    LIMIT 1) AS ModelImg 

FROM

   (SELECT 
      *
   FROM
      vw_newcars
    where offer_table = 'derivative'
    order by offer_order
   ) x

WHERE make_name = 'Fiat'
group by offer_table_id
limit 12

The part I'm having problems with is how to do a select from subquery in Active Record.

I don't see a from_select function or anything comparable in the documentation.

Best Answer

I managed to get the query to work by putting the from sub_query into the initial select statement :

$this->db->select("*, 
  (select image_path from image where image_table = 'model' and image_table_id = model_id
  group by image_table_id limit 1) as ModelImg FROM 
  (SELECT * FROM $view where offer_table = 'derivative' order by offer_order) x"); 
Related Topic