【问题标题】:join not giving required result when using or_like codeigniter使用 or_like codeigniter 时加入未给出所需结果
【发布时间】:2014-01-28 20:42:49
【问题描述】:
$skills = explode(',', 'good listener,topper,leader');
$teacherID = 7;

function search_follower($teacherID, $skills, $limit, $start) {
    $this->db->limit($limit, $start);
    $this->db->select('student_skills.user_id');
    $this->db->from('student_skills');
    $this->db->join('followers', 'followers.student_id = student_skills.user_id', 'FULL JOIN');

    foreach ($skills as $skill) {
        $this->db->like('student_skills.name', $skill);
        $this->db->or_like('student_skills.name', $skill);
    }
    $this->db->where('followers.teacher_id', $teacherID);
    $query = $this->db->get();
    if ($query->num_rows() > 0) {
        foreach ($query->result() as $row) {
            $data[] = $row;
        }
        return $data;
    }
    return false;
}

student_skills 表:

idnameuser_id

1topper5

2leader5

3good listener6

4toper6

关注表:

idteacher_idstudent_id

175

176

178

我编写了上面的模型函数来从 student_skills 表中获取跟随特定老师 ($teacherID) 并具有指定技能 ($skills) 的学生的学生 ID..

当我使用多种技能(例如:优秀的倾听者、topper 等)或单一技能(例如:topper)运行上述功能时,它运行时没有显示任何错误..但它给了我所有具有指定技能的学生和我希望只有跟随特定老师的学生..并具有指定的技能..

但是当我评论 or_like 声明时,它给了我所需的结果,但多项技能不起作用.. ex: topper 工作和 ex:topper,topper 工作但 ex: topper,leader 不起作用

我正在努力解决这个问题 2 天.. 但还没有找到任何解决方案....

任何建议或帮助都会有很大帮助.. 提前致谢。

【问题讨论】:

    标签: php mysql codeigniter activerecord join


    【解决方案1】:

    尝试修改select句子。

    $this->db->select('student_skills.*, followers.*');
    

    【讨论】:

    • 先生再次相同.. 它给了我所有具有指定技能的候选人.. 我想拥有相同的,但追随者 id 是教师 id
    猜你喜欢
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    相关资源
    最近更新 更多