2011-01-22 64 views
1

我想在Cake中通常使用的自定義數組中,而不是從模型中爲視圖類型分配輸入字段。 所以,我在我的陣列(傳遞給視圖)告訴字段類型的關鍵在數據庫中的字段必須有:CakePHP在自定義數組中設置輸入類型

[type] => 'varchar(32)'

我想蛋糕知道這個字段類型,並自動分配它到相應的輸入字段(因此,對於上面的示例,輸入將是一個text)。我怎樣才能做到這一點?

謝謝。

P.S:這些都是「轉換」我想(從表)實現:Data types correspondings in Cake

回答

0

linkyndy,

從模型模式類型映射到HTML表單元素都在這裏完成 - http://api.cakephp.org/view_source/form-helper/#l-738。此外,使用FormHelper時,varchar(32)(string)將創建一個html input元素。它是你想要一個textarea而不是?

如果您不想使用自動字段檢測,則可以在調用輸入時指定元素類型。如果這是不可接受的,你可以改變你的db字段類型以滿足CakePHP的期望......或者操縱模型的schema()結果......或者爲你自己的助手提供一個重載的input()方法。

指定$ this-> Form-> input()的調用中的類型似乎很簡單。

+0

我無法更改SQL中的模式,因爲這些字段類型不是「真正的」。它們作爲列添加並表示目標表的字段類型。我認爲這將是一個更簡單的方法來做到這一點,如果我有字段類型存儲在一個數組中。因此,唯一的方法是在視圖中測試存儲在數組中的字段類型,並在input()的選項數組中分配正確的對應關係,對嗎? – linkyndy 2011-02-01 22:35:53