cakephp - $_schema var in models 中的每个键在 CakePHP 中的作用是什么?

标签 cakephp model schema

CakePHP 说明书介绍了以下内容 ( http://book.cakephp.org/2.0/en/models/model-attributes.html#schema ):

Contains metadata describing the model’s database table fields. Each field is described by:

  • name
  • type (integer, string, datetime, etc.)
  • null
  • default value
  • length

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

  1. 姓名 - 这样做的目的是什么? cakebook 是否只是不清楚地说其他值将存储在字段名称下的数组中,或者这是一个可以给出不同名称的键,它有什么用?
  2. 类型 - 我知道什么是类型,但有人可以给我一份完整的选项列表吗?如果我不知道我的选择是什么,很难说它是什么。它们是基于典型的数据库类型、表单类型还是什么?
  3. Null - 这与数据库的 not null 选项相同吗?基本上只是需要一个值或抛出一个错误?

出于各种原因,我想写出我的每个表的模式,但由于这些问题,我有点卡住了。

感谢您的帮助!

最佳答案

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

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

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

cake schema generate

这样你就可以看到蛋糕做了什么。

因此,如果您创建一个包含各种字段类型的虚拟表“foobars”,您将拥有一个针对您当前使用的蛋糕版本的开箱即用的完整架构引用。您还将看到您的数据库反射(reflect)为蛋糕所见。含义:如果将一个字段设置为“默认不为空”,将另一个字段设置为“默认为空”,您将看到“空”的含义。什么类型的数据库匹配什么类型的蛋糕。

是的,名称是字段名。不过,它应该是数组键本身。

关于cakephp - $_schema var in models 中的每个键在 CakePHP 中的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392845/

相关文章:

php - CakePHP 关联模型返回 null?

mysql - 为什么我的 API 无法访问另一个架构?

database - 我的 "list"一个大数据库表或每个 "list"一个新表

ruby-on-rails - 使用 PostgreSQL 的模式和 Rails 创建 Multi-Tenancy 应用程序

session - 修改 CakePHP session 的 session cookie 到期和 session 超时

mysql - CakePHP 模型问题,如何为民意调查和测验建立表关系?

CakePHP:如何编写一个 find() 查询来排除结果集中的一个字段?

html - 显示 View 文件中的特定数据

ajax - 在js模板中呈现模型错误(如JSON)

model - 如何通过适配器从 EMF 模型及其 GEF 编辑器中删除模型对象