这种情况有什么问题吗?
如果我的条件之一是,我会收到错误:
$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 ) ) );
请问我做错了什么?!
i getting errors if one of my conditions is:
$conditions[] = array("PublicationNumeration.publication_numerations_published_date" => '2006-01-01' );
what is wrong with this condition?
but everything works ok with
$conditions[] = array("PublicationNumeration.publication_numerations_published_date" => '2006' );
... but that's not all i want/need.
what i'm doing wrong?
UPDATED:
next one works ok:
$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'
but next one creates an error:
$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 ) ) );
please, what i'm doing wrong?!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
确保遵循以下方案:
看到它是数组中的数组。
亲切的问候。
Edit1:顺便说一句,您可以查看蛋糕的“自动魔法”,例如数据库中名为
created
或modified
的列会自动更新。Edit2:也许
debug($this->params['named']['searchPublishedSince'])
揭示了一些东西。Make sure you follow the scheme:
See that it is an array in an array.
Kind regards.
Edit1: BTW you can have a look into the "automagic" of cake e.g. the columns in a database named
created
ormodified
get autoupdated.Edit2: maybe a
debug($this->params['named']['searchPublishedSince'])
reveals something.我以前从未使用过 CakePHP,但我从文档中了解到这些日期字符串可能应该是实际日期。你真正想要的条件是什么?您想要一个过滤器返回 2006 年 1 月 1 日的出版物,还是返回所有大于 2006 年 1 月 1 日的出版物?
对于 2006 年 1 月 1 日的出版物,也许可以尝试:
对于所有 >= 到 2006 年 1 月 1 日的出版物,尝试:
I've never used CakePHP before, but what I gather from the documentation is that those date strings should probably be actual dates. What is the condition you actually want? Do you want a filter that returns publications on Jan 01, 2006, or all greater than Jan 01, 2006?
For publications ON Jan 01, 2006, perhaps try:
For all publications >= to Jan 01, 2006, try: