2011-07-22 52 views
0

我有一個模型,其中定義了$useTable = false和自定義$schemaCakePHP - 在沒有表的模型上使用Model :: read()

雖然沒有表格,但我仍然試圖儘量使用標準模型方法將所有內容儘量保留爲框架的整體。因此,例如,我正在使用Model::save()來更新模型的$data陣列。

但是,從控制器我試圖使用Model::read(),但它是失敗,我認爲因爲read()沒有在模型中的ID。有沒有辦法在沒有表格的情況下模擬模型中的ID?我知道我可以通過$this->Model->data['Model']['field']訪問我想要的數據,但我覺得這不是好的做法。

+1

那麼$數據存儲在哪裏?如果使用save()和read(),則可能需要一個表來存儲數據。 –

+0

如果您想「讀取」數據,只需從實際擁有數據/表格的模型中讀取數據即可。 $ this-ActualDataModel-> read()或者我錯過了什麼? – Dave

回答

0

read()用於當您基於主鍵或id檢索數據時。

如果您嘗試從底層數據源讀取數據(無論可能是什麼),但沒有主鍵,那麼可能找到('first',...)是您可能想要的。

如果你確實有一個主鍵,但它不叫'id'(可能是'field'),那麼在模型中指定var $primaryKey = 'field';,你應該很好地使用基於該字段數據的read。

順便提一句,底層數據源是什麼?

相關問題