我在codeigniter4中进行此查询,但我被困住了
public function consultasHoy(){
$data = $this->consultas->select('pacientes.*,consultas_hc.*')
->from('consultas_hc')
->join('pacientes','consultas_hc.identificacion = pacientes.identificacion')
->where(date_format('consultas_rc.reConsulta','%Y-%m-%d'),date_format(now(),'%Y-%m-%d'))
->orderBy('consultas_hc.reConsulta', 'ASC')
->get();
return json_encode($data);
}
并返回此错误
date_format(( 期望参数 1 是日期时间接口,字符串 鉴于
如果您直接从数据库到控制器获取日期,则可以在视图中打印日期格式,如下所示:
$YourDate = $row->start_date;
$newDate = date("d-m-Y", strtotime($YourDate));
尝试用以下代码行替换 where 子句:
$where="DATE_FORMAT('consultas_rc.reConsulta','%Y-%m-01')= DATE_FORMAT(CURDATE() ,'%Y-%m-01')";
->where($where);
这是使用的解决方案,感谢您的帮助
public function consultasHoy(){
helper('date');
$hoy=(new DateTime("now"))->format("Y-m-d");
$builder = $this->consultas->select('*');
$builder->join('pacientes', 'pacientes.identificacion=consultas_hc.identificacion');
$builder->where("DATE(reConsulta)", $hoy);
$query = $builder->get();
return json_encode($query->getResult());
}