2012-05-01 8 views
3

ザ・CakePHPの料理は(http://book.cakephp.org/2.0/en/models/model-attributes.html#schema)以下を提示:

は、モデルのデータベーステーブルのフィールドを記述するメタデータが含まれています。

  • タイプ(整数、ストリング、日時、等)
  • ヌル
  • デフォルト値

の一部:各フィールドは、によって記述されていますこれらは自明のものですが、ここに私の質問があります:

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

私のテーブルのスキーマをさまざまな理由で書きたいと思っていますが、私はこれらの質問のためにちょっと立ち往生しています。

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

答えて

0

あなた自身の質問に対する答えのほとんどを自分で見つけることができます。 あなたは上記のすべてのフィールドが含まれてい

$this->Model->schema(); 

から返されたデータをデバッグするのどちらか。 または作成するケーキのシェルを使用して/に/コンフィグ/スキーマスキーマファイルをダンプ:

cake schema generate 

あなたはケーキを作成するものを見ることができるこの方法で。

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

はい、nameはフィールド名です。配列キー自体でなければなりません。

+1

詳細およびいくつかの例はhttp://www.dereuromark.de/2012/05/01/schema-reference-for-table-less-models/を参照してください。 – mark

関連する問題