2010-07-31 121 views
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))); 

請,我在做什麼錯?

+1

有什麼錯誤? publication_numerations_published_date字段的數據類型是什麼? – Mike 2010-07-31 19:34:40

回答

1

請務必遵循的方案:

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

看到它是一個數組中的數組。

親切的問候。編輯1:順便說一句,你可以看看蛋糕的「自動化」,例如名爲createdmodified的數據庫中的列會自動更新。

編輯2:也許debug($this->params['named']['searchPublishedSince'])揭示了一些東西。

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'))); 
+2

'date()'返回一個字符串,所以'date('Y-m-d',strtotime('2006-01-01'))'與'2006-01-01''相同。 – Mike 2010-07-31 19:35:35

+0

啊,是的。對不起,我的PHP日子已經很長時間:) – 2010-07-31 20:48:30

+0

tnx,但請檢查我的消息的UPDATED部分。 TNX! – user198003 2010-08-01 00:20:19