ThinkPHP搜索條件是數組,加一條自定義Sql條件解決辦法

今天遇到一個問題,原來的搜索需要加一個搜索,而這個搜索是比較倆個字段,而之前的搜索條件是數組,查閱資料解決辦法如下:

// 原來的搜索條件
$where = array(
    'user_examinfos.end_at IS NOT NULL',
    'examinations.exam_type' => ExaminationsModel::EXAM_TYPE_EXAM,
    'user_examinfos.examinationid' => $examinationid,
    'user_examinfos.userid' => array('in', $userIds)
);

// 辦法一
$where['_string'] = 'user_examinfos.score > user_examinfos.exam_pass_score';

// 辦法二
$where[] = 'user_examinfos.score > user_examinfos.exam_pass_score';

$result = M('user_examinfos')
    ->join('examinations on user_examinfos.examinationid = examinations.id', 'LEFT')
    ->where($where)
    ->select();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章