2011-09-07 87 views
0

使用CakePHP我得到多維數組,我似乎無法弄清楚爲什麼有時候我可以通過鍵訪問它們,有時我不能。例如,我有一個關聯工廠信息的員工模型,並且找到所有正確的數據集並將其存儲在一個數組中。相關信息被保存並作爲$var['Emp']$var['Plant']當我使用Emp->find('all')CakePHP訪問find('all')數組

這給出了一個很好的鍵陣列,這樣訪問:

$Employee = Array(
    [Plant] => Array(
      [0] => Array(
       [ID]... 

然而對於一些員工(管理員),他們不與名單有關因此,我不需要使用他們相關的植物數據,而需要給他們一份所有植物期間的清單,所以我使用Plant->find('all')。問題是產生陣列是一個奇怪的格式如下所示:

$plants = Array(
    [0] => Array(
      [Plant] => Array(
        [ID] =>... 

所以我不能訪問$plants['Plant'],我不能使用頂級陣列作爲我$Employee['Plant']陣列。我知道我可以使用foreach並重寫$plants陣列以匹配其他格式,但我有一個整個站點我轉換爲蛋糕的find('all')函數,所以我想知道爲什麼這種差異正在發生以及如何才能訪問第二個數組以鍵控方式。

回答

2

在第一種情況下,您要爲員工取回數據,並使用模型名稱對相關模型進行分組。 在第二種情況下,您直接獲取所有植物的數組,這正是CakePHP返回對象的方式。您需要迭代數組以訪問每個Plant對象。

我希望這是有道理的。

+0

是的,它比我想象的要容易,我只是希望避免它。 –

相關問題