我一直致力于一个项目而且我想要弄清楚如何在Codeigniter 3中制作UNION
Mysql方法,我无法找到我遇到的问题,这是我创建的模型文件,可以帮助:
class Reference_model extends CI_Model {
function search($term,$orig){
//Affichage des produits par référence
$this->db->select('*')
->distinct()
->from('tReference')
->like('sReference',$term)
->or_like('nReference', $term)
->or_like('sSearch', $term)
->or_like('sSort', $term)
->get();
$q1 = $this->db->last_query();
if (isset($orig)) {
$this->db->select('nManufacturer')
->distinct()
->from('tManufacturer')
->where_in('nManufacturer=tReference.nManufacturer')
->get();
$q2 = $this->db->last_query();
}else {
$q2='';
}
$query = $this->db->query($q1." UNION ".$q2);
$ret = array();
$ret['rows'] = $query->result();
$ret['number'] = $query->num_rows();
return $ret;
}
}
谢谢大家的帮助
答案 0 :(得分:0)
如果您尝试获取两个查询的UNION
,则需要列(正在选择的列)的名称应相同。
在您的情况下,在第一个查询select('*')
和第二个select('nManufacturer')
中,我确信这两个查询正在选择不同的列。