模型中$ _schema var中的每个键在CakePHP中做了什么?

时间:2012-05-01 02:28:22

标签: cakephp model schema

CakePHP食谱提供以下内容(http://book.cakephp.org/2.0/en/models/model-attributes.html#schema):

  

包含描述模型数据库表字段的元数据。每个字段由:

描述      
      
  • 名称
  •   
  • type(整数,字符串,日期时间等)
  •   
  •   
  • 默认值
  •   
  • 长度
  •   

其中一些是不言自明的,但这是我的问题:

  1. 姓名 - 这是为了什么目的?蛋糕书是不是很清楚地说其他值将存储在以字段名称存储的数组中,或者这是一个可以给出不同名称的键,它会是什么?
  2. 类型 - 我了解什么类型,但有人可以给我一个完整的选项列表吗?如果我不知道我的选择是什么,很难说它是什么。它们是基于典型的数据库类型,表单类型还是什么?
  3. Null - 这是否与数据库的not null选项相同?基本上只需要一个值或抛出错误?
  4. 我想出于各种原因写出我的每个表格的模式,但由于这些问题,我有点卡住了。

    感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以自己找到问题的大部分答案。 要么从

调试返回的数据
$this->Model->schema();

包含上面的所有字段。 或者您使用cake shell在/ Config / Schema中创建/转储模式文件:

cake schema generate
通过这种方式你可以看看蛋糕创造了什么。

因此,如果您创建一个包含所有类型字段类型的虚拟表“foobars”,您将拥有一个完整的模式引用,用于您正在使用的当前蛋糕版本。此外,您将看到您的数据库反映为蛋糕看到它。含义:如果将一个字段设置为“default not null”,另一个字段设置为“default null”,您将看到“null”的含义。什么类型的数据库匹配蛋糕中的类型。

是的,name是fieldname。但它应该是数组键本身。