【发布时间】:2018-09-06 20:32:39
【问题描述】:
这里我有函数index,它有两个不同的模型调用如下:
CONTROLLER:
function index()
{
$people = $this->M_results->search_people(); // first model method call
// print_r($people); //shows result
$skills = $this->M_results->get_skill($category_name); // second model method call
}
型号:
function search_people()
{
$this->db->select("registration,gender,profile_img,location");
$this->db->from('search_result');
$this->db->join('services','search_result.registration = services.reg_id','left');
$this->db->join('review','search_result.registration = review.reg_id AND review.active = 0','left');
$query = $this->db->get();
$result = $query->result_array();
return $result;
}
function get_skill($category_name)
{
$this->db->select('GROUP_CONCAT(skills.id ORDER BY skills.name ASC) as id,GROUP_CONCAT(skills.name ORDER BY skills.name ASC) as skill,sub_categories.name as sub_cat,class');
$this->db->from('skills');
$this->db->join('sub_categories','skills.sub_cat_id = sub_categories.id');
$this->db->join('categories','sub_categories.cat_id = categories.id');
$this->db->where('categories.name',$category_name);
$this->db->where('skills.active',0);
$this->db->group_by('sub_categories.name');
// echo $this->db->get_compiled_select(); exit();
$query = $this->db->get();
return $query->result();
}
现在的问题是,对search_people 的调用正在返回准确的结果。
但是在运行第二个模型调用,即get_skill 函数时,get_skill 的选择查询包含search_result 函数中的选择查询列。并显示以下数据库错误:
错误号:1054
“字段列表”中的未知列“注册”
选择注册、性别、profile_img、位置、GROUP_CONCAT(skills.id ORDER BY Skills.name ASC) 作为 id、GROUP_CONCAT(skills.name ORDER BY Skills.name ASC) 作为技能、sub_categories.name 作为 sub_cat、class FROM技能 JOIN sub_categories ON Skills.sub_cat_id = sub_categories.id JOIN categories ON sub_categories.cat_id = categories.id WHERE categories.name = 'Child and Pet Care' AND Skills.active =0 GROUP BY sub_categories.name
在上述查询中,您可以看到search_people 和get_skill 中的两列。
【问题讨论】:
-
在这些字段之前连接表名:注册、性别、profile_img、位置
-
你的意思是像
search_result.registration?但它会引发同样的错误!
标签: php mysql codeigniter activerecord