OR条件での取得方法と条件。また、ORが機能していない状態で使用されます。or_whereの使い方とcodeigniterのajaxデータの条件
$this->datatables->select('otest_questions.qst_id,otest_sub_category.sub_cat_name,otest_subjects.subject_display_name,otest_questions.qst_question,otest_questions.qst_status');
$this->datatables->join('otest_subjects',' otest_questions.qst_subject_id=otest_subjects.subject_id');
$this->datatables->join('otest_main_category','otest_subjects.subject_main_cat_id=otest_main_category.main_cat_id');
$this->datatables->join('otest_sub_category','otest_main_category.main_cat_id=otest_sub_category.sub_cat_main_cat_id');
$this->datatables->where(array('otest_questions.qst_added_by'=>$this->session->userdata['inst_in']['inst_id'],'otest_questions.qst_chapter_id'=>$this->input->get('chapter')));
$this->datatables->or_where(array('otest_questions.access_level'=>1));
$this->datatables->where(array('otest_questions.qst_chapter_id'=>$this->input->get('chapter')));
$this->datatables->group_by('otest_questions.qst_id');
$this->datatables->from('otest_questions');
}
echo $this->datatables->generate();
実行されたクエリは、(otest_questions
)FROM
SELECT * otest_questions
ON otest_subjects
をJOINです。 qst_subject_id
= otest_subjects
。 subject_id
JOIN otest_main_category
ON otest_subjects
。 subject_main_cat_id
= otest_main_category
。 main_cat_id
JOIN otest_sub_category
ON otest_main_category
。 main_cat_id
= otest_sub_category
。 sub_cat_main_cat_id
WHERE otest_questions
。 qst_added_by
= '12' AND otest_questions
。 qst_chapter_id
= '988' AND otest_questions
。 qst_chapter_id
= '988' OR otest_questions
。 access_level
= 1 GROUP BY otest_questions
。 qst_id
。
しかし、クエリが
otest_questions
でなければなりません。 qst_added_by
= '12' AND otest_questions
。 qst_chapter_id
= '988' OR otest_questions
。 access_level
= 1 AND otest_questions
。 qst_chapter_id
= '988'
'group_by'必要'順 –
or_whereがor_whereで同じデータベースの私が使用したい列 –