我可以在_schema Model字段中放置什么来构建自定义无表格模型?

时间:2012-04-06 21:39:37

标签: cakephp model cakephp-2.1

我已经在食谱中读到了这个“技巧”:http://book.cakephp.org/2.0/en/models/model-attributes.html#usetable

现在我想为我的模型构建一个自定义模式,但是没有这个数组的格式。例如,我不知道我应该为bool类型添加什么:“boolean”或“bool”?

如果我想在使用$ this-> Form->输入时获得“选择框”,我应该输入什么类型?我应该创建一个hasMany关系(有2个无表格模型)吗?

1 个答案:

答案 0 :(得分:7)

文档在这里:http://book.cakephp.org/2.0/en/models/model-attributes.html#schema

以下是联系表单的示例: http://www.dereuromark.de/2011/12/15/tools-plugin-part-2-contact-form/

至于布尔(tinyint 1):

protected $_schema = array(
   'status' => array(
       'type' => 'boolean',
       'length' => 1,
       'default' => 0,
       'null' => false,
       'comment' => 'some optional comment'
   ),   
);

TIPP: 如果你想快速找到这个:

创建表“apples”和Apple模型,并添加要调试的所有类型的字段 然后像这样调用模型schema():

debug($this->Apple->schema());

这就是我对上述内容的确认。

对于第二部分 - 如果值可以被视为“静态”,我将使用以下ENUM解决方案作为选择框: http://www.dereuromark.de/2010/06/24/static-enums-or-semihardcoded-attributes/ 否则你应该使用cookbook或数组数据源中记录的关系。