0

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

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

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

4

1 回答 1

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'
   ),   
);

提示:如果您想快速找到自己的方法:

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

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

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

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

于 2012-04-06T22:14:41.230 回答