【问题标题】:Convert sql query in query in Active Record in codeigniter在codeigniter中的Active Record中的查询中转换sql查询
【发布时间】:2017-11-21 18:50:45
【问题描述】:

我需要将此查询转换为活动记录查询。

SELECT * FROM test WHERE CAST(date AS DATE) = '2017-06-19' AND `ip` = '::1'

这是我尝试过的,但是带有datewhere 不起作用

 function search($date, $ip){
   $this->db->select('cast(date as Date)');
   $this->db->where('date', $date);
   $this->db->where('ip', $ip);
   return $this->db->get('visitas'); 
  }

这会产生类似的东西

SELECT cast(fecha as Date) FROM (`visitas`) WHERE `ip` = '::1'

先谢谢了。

【问题讨论】:

  • 只需使用$this->db->query("SELECT * FROM test WHERE CAST(date AS DATE) = '2017-06-19' AND ip` = '::1'")`。Docs

标签: php mysql sql codeigniter activerecord


【解决方案1】:

我目前无法对此进行测试,但我相信这正是您要寻找的。

// Convert your date string to mysql datetime
$date = date( "Y-m-d" , strtotime("2017-06-19") );

// Build the query
$this->db->select('*')->from('visitas')
                      ->where('CAST(date AS DATE)=', $date)
                      ->where('ip', '::1');

$query = $this->db->get();

【讨论】:

  • 就我而言,我不需要变量$date
  • 我做演员是因为我只需要我约会的日期部分
猜你喜欢
  • 1970-01-01
  • 2014-03-05
  • 1970-01-01
  • 1970-01-01
  • 2016-03-15
  • 1970-01-01
  • 2019-01-08
  • 2014-06-26
  • 1970-01-01
相关资源
最近更新 更多