这种情况有什么问题吗?

发布于 2024-09-12 19:25:20 字数 1010 浏览 3 评论 0原文

如果我的条件之一是,我会收到错误:

$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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

此岸叶落 2024-09-19 19:25:20

确保遵循以下方案:

$conditions = array("Post.title" => "This is a post");
//Example usage with a model:
$this->Post->find('first', array('conditions' => $conditions));

看到它是数组中的数组。

亲切的问候。

Edit1:顺便说一句,您可以查看蛋糕的“自动魔法”,例如数据库中名为createdmodified的列会自动更新。

Edit2:也许 debug($this->params['named']['searchPublishedSince']) 揭示了一些东西。

Make sure you follow the scheme:

$conditions = array("Post.title" => "This is a post");
//Example usage with a model:
$this->Post->find('first', array('conditions' => $conditions));

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 or modified get autoupdated.

Edit2: maybe a debug($this->params['named']['searchPublishedSince']) reveals something.

醉南桥 2024-09-19 19:25:20

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

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:

$conditions[] = array("PublicationNumeration.publication_numerations_published_date" => date('Y-m-d', strtotime('2006-01-01')));

For all publications >= to Jan 01, 2006, try:

$conditions[] = array("PublicationNumeration.publication_numerations_published_date >=" => date('Y-m-d', strtotime('2006-01-01')));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文