$conditions[] = array("PublicationNumeration.publication_numerations_published_date" => '2006-01-01' );
这种情况有什么问题?
但一切正常
$conditions[] = array("PublicationNumeration.publication_numerations_published_date" => '2006' );
......但这不是我想要/需要的全部。
我做错了什么?
更新:
下一个工作正常:
$mydate = '2007/01/01';
$conditions[] = array("PublicationNumeration.publication_numerations_published_date LIKE " => date('Y-m-d' , strtotime( $mydate ) ) );
// create sql `PublicationNumeration`.`publication_numerations_published_date` LIKE '2007-01-01'
但是下一个会产生错误:
$mydate = $this->params['named']['searchPublishedSince'].'/01/01'; // searchPublishedSince is defined in url
$conditions[] = array("PublicationNumeration.publication_numerations_published_date LIKE " => date('Y-m-d' , strtotime( $mydate ) ) );
拜托,我做错了什么?!
答案 0 :(得分:1)
确保遵循该计划:
$conditions = array("Post.title" => "This is a post");
//Example usage with a model:
$this->Post->find('first', array('conditions' => $conditions));
看到它是数组中的数组。
亲切的问候。
Edit1:顺便说一句,你可以看看蛋糕的“自动化”,例如名为created
或modified
的数据库中的列会自动更新。
Edit2:也许是debug($this->params['named']['searchPublishedSince'])
揭示了一些东西。
答案 1 :(得分:0)
我以前从未使用过CakePHP,但我从文档中收集的是那些日期字符串可能应该是实际日期。你真正想要的条件是什么?您想要一个过滤器,它在2006年1月1日或者所有大于2006年1月1日的时候都返回了出版物吗?
对于2006年1月1日的出版物,或许可以尝试:
$conditions[] = array("PublicationNumeration.publication_numerations_published_date" => date('Y-m-d', strtotime('2006-01-01')));
对于所有出版物> =至2006年1月1日,请尝试:
$conditions[] = array("PublicationNumeration.publication_numerations_published_date >=" => date('Y-m-d', strtotime('2006-01-01')));