我正在将模型中的参数传递给像这样的
模型
class school_model extends CI_Model{
function employee_get($student_id){
$query = $this->db->get_where('students', array('student_id'=>$student_id));
return $query->row_array();
}
}
控制器
function bret($student_id){
$this->load->model('school_model');
$data = $this->school_model->employee_get($student_id);
echo $data['student_gender'];
}
这显然转化为select * from students where id=id
,例如通过浏览器看到http://example.com/env/at/index.php/frontpage/bret/306
我想知道get_where()
是否合适,如果我想要这个查询
select student_gender,student_has_a_medical_condition from students where (student_gender = 'female' && student_has_a_medical_condition = 'no') LIMIT 40;
我是否需要延长get_where()
以使其正常工作?
答案 0 :(得分:1)
首先,我建议在ActiveRecord类上阅读CodeIgniter的优秀文档。
您不必扩展get_where()
,只需使用现有方法来定义查询:
function employee_get($student_id){
$this->db->select('student_gender','student_has_a_medical_condition');
$query = $this->db->get_where('students', array('student_id'=>$student_id,'student_has_a_medical_condition'=>'no','student_gender'=>'female'),40);
return $query->row_array();
}
当然,您可以将附加参数传递给函数,这样它们就不会被硬编码,您也可以将所需的列作为参数传递。但是从文档开始。