[英]Produce CodeIgniter Active Record from MySQL query
I have this mysql query and I am very new to CodeIgniter, How can I make this an active record query? 我有这个mysql查询,并且对CodeIgniter还是陌生的,如何使它成为活动记录查询?
SELECT
chp_id,
chp_destination,
cde_name,
chp_year,
chp_from,
chp_to,
chp_budget_price_high,
chp_medium_price_high,
chp_luxury_price_high,
chp_budget_price_low,
chp_medium_price_low,
chp_luxury_price_low,
chp_timestamp,
chp_comment
FROM crm_hotel_price
LEFT JOIN crm_destinations ON cde_id = chp_destination
WHERE chp_id IN
(
SELECT MAX( chp_id )
FROM crm_hotel_price
GROUP BY chp_destination, chp_year
)
ORDER BY
chp_id
Yes subquery is not yet supported by active record and you can't extend the class easily. 是的,活动记录尚不支持子查询,因此您无法轻松扩展该类。 So you want to do something like this (not tested) 所以你想做这样的事情(未经测试)
$this->db->select('chp_id')
->select('chp_destination')
->select('cde_name')
->select('chp_year')
->select('chp_from')
->select('chp_to')
->select('chp_budget_price_high')
->select('chp_medium_price_high')
->select('chp_luxury_price_high')
->select('chp_budget_price_low')
->select('chp_medium_price_low')
->select('chp_luxury_price_low')
->select('chp_timestamp')
->select('chp_comment')
->from('crm_hotel_price')
->join('crm_destinations', 'cde_id = chp_destination', 'left')
->where('chp_id IN (SELECT MAX( chp_id ) FROM crm_hotel_price GROUP BY chp_destination, chp_year)')
->order_by('chp_id');
$query = $this->db->get();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.