2012-04-27 42 views
2

我在生產和開發服務器上的確切代碼相同,但使用find('first')檢索數據時似乎得到不同的數組鍵。CakePHP使用find()從模型中檢索數據。生產服務器上的不同陣列密鑰

發展:

Array 
(
    [Page] => Array 
     (
      [title] => Welcome! 
      [keywords] => keyword 1 keyword 2 keyword 3 
     ) 

) 

生產:

Array 
(
    [0] => Array 
     (
      [title] => Welcome! 
      [keywords] => keyword 1 keyword 2 keyword 3 
     ) 

) 

代碼在AppController中:

//get page title and keywords 
     $currentPage = $this->Page->find('first', 
      array(
       'conditions' => array('Page.name' => $this->params['controller']), 
       'fields' => array('Page.title', 'Page.keywords') 
      )); 


     pr($currentPage); 
+1

你確定你運行的是CakePHP的相同版本嗎? – 2012-04-27 07:56:18

+0

是的,我剛剛上傳了相同的文件夾 – 2012-04-27 10:44:52

回答

1

我記得這一個...:PI有同樣的問題之前

它是由php版本或mysql版本引起的。請檢查您的服務器通過你的蛋糕版本的最低要求

requirements for cakephp2.0

requirements for cakephp1.3

可以使用的phpinfo檢查它們();

希望這可以幫助

+0

服務器通過了最低要求:(剛剛上傳了一個新的cakephp,它工作正常。我的生產PHP版本是5.2.17,而發展是5.3.8 ...我認爲這是與模型的區分大小寫有關...可能嗎? – 2012-04-27 11:03:32

+0

不這麼認爲...在我的情況下,它是不正確的Mysql版本..你有沒有檢查過嗎? – pleasedontbelong 2012-04-27 12:53:38

+0

這似乎是不同的。我的MySQL版本是5(兩者),所以應該沒問題?注意到很多其他的東西都不起作用,包括Auth CakePHP 2.0 – 2012-04-27 13:10:09

-1

使用$this->set(compact('currentPage',$currentPage));

+0

沒有,對不起,沒有工作:( – 2012-04-27 11:15:05

相關問題