Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp 这种情况有什么问题?_Cakephp_Conditional Statements - Fatal编程技术网

Cakephp 这种情况有什么问题?

Cakephp 这种情况有什么问题?,cakephp,conditional-statements,Cakephp,Conditional Statements,如果我的条件之一是: $conditions[] = array("PublicationNumeration.publication_numerations_published_date" => '2006-01-01' ); 这种情况有什么问题 但一切都很顺利 $conditions[] = array("PublicationNumeration.publication_numerations_published_date" => '2006' ); 。。。但这不是我想要/

如果我的条件之一是:

$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 ) ) );

拜托,我做错了什么

我以前从未使用过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')));

确保您遵循以下计划:

$conditions = array("Post.title" => "This is a post");
//Example usage with a model:
$this->Post->find('first', array('conditions' => $conditions));
请确保它是数组中的一个数组

亲切的问候

Edit1:顺便说一句,您可以查看cake的“automagic”,例如数据库中名为
创建的
修改的
获取自动更新的列


Edit2:可能是
调试($this->params['named']['searchPublishedSince'])
显示了一些信息。

有什么错误?发布日期字段的数据类型是什么?
date()
返回一个字符串,因此
date('Y-m-d',strotime('2006-01-01'))
'2006-01-01'
相同。啊,是的。对不起,我的PHP时代已经过去很久了:)