首页 > 解决方案 > 如果结果等于特定类别,Codeigniter 显示 TYPE 表中的 TYPE_LABLE

问题描述

我正在开发 Codeigniter REST API 项目并遇到了一个问题。我希望我的模型按条件选择其他数据。

如果 CATEGORY 等于 $CATEGORY 则显示 TYPE.TYPE_LABLE 否则不显示“TYPE.TYPE_LABLE”

那么我怎样才能得到这个结果呢?感谢您的帮助。

    function get_data() {
        
        
        $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : '';
        $CATEGORY = array('CATEGORY1', 'CATEGORY2', 'CATEGORY3', 'CATEGORY4');
        
        $types = array('type_1', 'type_2');
        if ($id != null) {
            $this->db->where('ID',$id);
//selct TYPE.TYPE_LABLE if CATEGORY equals $CATEGORY 
            $this->db->select('POST.ID, POST.DATE, TYPE.Post_Type as P_TYPE, TYPE.TYPE_LABLE$CATEGORY', FALSE);
            $this->db->join('TYPE', 'POST.TYPE_ID = TYPE.ID', 'left');
            $this->db->join('CATEGORY', 'POST.CATEGORY_ID = CATEGORY.ID', 'left');
            $this->db->order_by('POST.ID', 'DESC');
            $this->db->where_in('POST.Post_Type', $types);
            $this->db->where('POST.DATE >', date('Y-m-d', strtotime('01-01-2019')) );
            $this->db->from('POST');
    
            $result = $this->db->get();
        } 
        return $result;
    }

标签: phpcodeignitereloquentcodeigniter-3eloquent-relationship

解决方案


推荐阅读