将多表查询转换为活动记录代码指示符 [英] convert a multiple table query into active record codeigniter

查看:96
本文介绍了将多表查询转换为活动记录代码指示符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将常规多表查询转换为活动记录。

I want to convert a regular multiple table query into active record.

这是我的查询

  if (count($package_place_ids['package_city_id']) > 0) {
                    for ($j = 0; $j < count($package_place_ids['package_city_id']); $j++) {
                        if ($package_city_ids['package_city_id'][$i] == $package_place_ids['package_city_id'][$j]) {
                            $pkg_enquiry_place = $this->db->query('insert into pkg_enquiry_place(enquiry_detail_id,package_city_id,deal_place_id,place_transfer_mode,place_transfer_info,place_transfer_fare)
select ' . $enquiry_detail_id . ',' . $pkg_enquiry_city_id . ',deal_place_id,place_transfer_mode,place_transfer_info,place_transfer_fare from package_place where deal_id=' . $post_dealid . ' and deal_place_id=' . $package_place_ids['deal_place_id'][$j] . '');
                        }
                    }
                }

我想显示错误消息。我认为只有当查询是活动记录格式时,才会显示codeigniter中的错误消息。如果我使用常规查询我得到error_message为空和错误消息的数量为0.如果一个使用常规查询,可以显示错误消息。如果那么如何?
谢谢,

I want to convert it because i want to display the error message. I think the error messages in codeigniter are displayed only if the query is in the active record format. If i use the regular query i am getting the error_message as empty and the number of error message as 0. Can the error message be displayed if one uses regular query.If so then how? Thanks,

推荐答案

$insert =   array();

if (count($package_place_ids['package_city_id']) > 0) {
    for ($j = 0; $j < count($package_place_ids['package_city_id']); $j++) {
        if ($package_city_ids['package_city_id'][$i] == $package_place_ids['package_city_id'][$j]) {


            $this->db->select("$enquiry_detail_id , $pkg_enquiry_city_id, deal_place_id, place_transfer_mode, place_transfer_info, place_transfer_fare")->from('package_place');

            $this->db->where(array('deal_id' => $post_dealid, 'deal_place_id' => $package_place_ids['deal_place_id'][$j]));
            $places = $this->db->get()->result_array();


            foreach($places as $place){

                array_push($insert, array(
                            'enquiry_detail_id'     =>  $place["$enquiry_detail_id"],
                            'package_city_id'       =>  $place["$pkg_enquiry_city_id"],
                            'deal_place_id'         =>  $place['deal_place_id'],
                            'place_transfer_mode'   =>  $place['place_transfer_mode'],
                            'place_transfer_info'   =>  $place['place_transfer_info'],
                            'place_transfer_fare'   =>  $place['place_transfer_fare'],
                        )
                    );
            }
        }
    }
}


$this->db->insert('pkg_enquiry_place', $insert);

使用 $ this-> db-> last_query / code>以获取上次执行的查询

Use $this->db->last_query(); to get last executed query

这篇关于将多表查询转换为活动记录代码指示符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆