3

CakePHP のクックブックには、次の内容が記載されています ( http://book.cakephp.org/2.0/en/models/model-attributes.html#schema )。

モデルのデータベース テーブル フィールドを説明するメタデータが含まれます。各フィールドは次のように説明されています。

  • 名前
  • タイプ (整数、文字列、日時など)
  • ヌル
  • デフォルト値
  • 長さ

これらのいくつかは自明ですが、ここに私の質問があります:

  1. 名前 - これの目的は何ですか? Cakebook は、他の値がフィールドの名前で格納された配列にあると不明確に言っているだけですか、それともこれは別の名前を付けることができるキーであり、それは何のためでしょうか?
  2. タイプ - タイプが何であるかは理解していますが、オプションの完全なリストを教えてもらえますか? 自分の選択肢がわからないと、それが何であるかを言うのは難しい. それらは典型的なデータベースの種類やフォームの種類、または何に基づいていますか?
  3. Null - データベースの not null オプションと同じですか? 基本的に、値を要求するか、エラーをスローするだけですか?

さまざまな理由からテーブルの各スキーマを書き出したいのですが、これらの質問のために少し行き詰まっています。

ご協力ありがとうございました!

4

1 に答える 1

0

質問に対する答えのほとんどは、自分で見つけることができます。返されたデータをデバッグするか

$this->Model->schema();

上記のすべてのフィールドが含まれています。または、cake シェルを使用して /Config/Schema にスキーマ ファイルを作成/ダンプします。

cake schema generate

このようにして、ケーキが作るものを見ることができます。

したがって、すべての種類のフィールド タイプを含むダミー テーブル「foobars」を作成すると、使用している現在の Cake バージョンの完全なスキーマ参照がすぐに使用できます。また、ケーキが見ているようにデータベースが反映されていることもわかります。つまり、一方のフィールドを「default not null」に設定し、もう一方のフィールドを「default null」に設定すると、「null」の意味がわかります。そして、データベースのどのタイプがケーキのどのタイプと一致しますか。

はい、name はフィールド名です。ただし、配列キー自体である必要があります。

于 2012-05-01T09:30:23.853 に答える