我的数据库中有一个开始和结束日期,表单字段中有一个$ date变量.我现在正在尝试查询所有行,其中$ date是db中的开始/结束日期,或者是这两行之间的任何日期.
这与daysAsSql如何工作的文档中描述的内容相反.我无法弄清楚如何让它发挥作用.以下行不能用作控制器中的查找条件:
'? BETWEEN ? AND ?' => array($date, 'Item.date_start', 'Item.date_end'),
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏.这真让我抓狂.
这是完整的Query和相应的SQL:
$conditions = array(
'conditions' => array(
'and' => array(
'? BETWEEN ? AND ?' => array($date, 'Item.date_start', 'Item.date_end'),
'Item.title LIKE' => "%$title%",
'Item.status_id =' => '1'
)));
$this->set('items', $this->Item->find('all', $conditions));
WHERE (('2012-10-06' BETWEEN 'Item.date_start' AND 'Item.date_end') AND (`Item`.`title` LIKE '%%') AND (`Item`.`status_id` = 1))
Run Code Online (Sandbox Code Playgroud) 我正在构建一个小型Web应用程序,让用户可以预订办公室房间和设备.对于预订,他们输入开始日期和结束日期.
当用户试图找出2012-10-23中是否有任何(例如)汽车可用时,并且数据库保存了Start:2012-10-20和End:的预订日期记录(2012-10-25for say)所有汽车,我如何包括所有汽车我在搜索中的日期条目之间的日期?
该$date变量得到它的从日期搜索表单域值.
不幸的是,这不起作用,我无法弄清楚如何使用daysAsSql进行此查询:
$conditions = array(
'conditions' => array(
'? BETWEEN ? AND ?' => array($date,'Equipment.date_start','Equipment.date_end'),
)));
$this->set('equipments', $this->Equipment->find('all', $conditions));
Run Code Online (Sandbox Code Playgroud) 对于URL,我试图通过此API请求计算它的推文:
http://urls.api.twitter.com/1/urls/count.json?url=http://www.bbc.co.uk
Run Code Online (Sandbox Code Playgroud)
这(在浏览器中)返回以下Json:
{"count":216743,"url":"http:\/\/www.bbc.co.uk\/"}
Run Code Online (Sandbox Code Playgroud)
我可以手动解析响应:
$tweets = json_decode('{"count":216743,"url":"http:\/\/www.bbc.co.uk\/"}');
$this->set('tweets', $tweets->{'count'});
Run Code Online (Sandbox Code Playgroud)
当我输入URL而不是Json时,它不会请求任何数据.如何让以下工作?
$tweets = json_decode('http://urls.api.twitter.com/1/urls/count.json?url=http://www.bbc.co.uk');
$this->set('tweets', $tweets->{'count'});
Run Code Online (Sandbox Code Playgroud)