Nasıl Doktrini adlı Modeller Sabit geçersiz mi?

1 Cevap php

Doktrin olarak size Doktrini kodu tarafından oluşturulan modellerin tüm küresel bir tanıtıcı sütun ayarlamak için izin veren bir sabit, değişken ile sağlanır. Ben belirli bir tabloda bu sütun yaratmaz ki ben bu değeri kapatmak / geçersiz nasıl anlamaya çalışıyorum.

Constant:

ATTR_DEFAULT_IDENTIFIER_OPTIONS

Bu bir önyükleyicisini PHP dosyasında set alır ve otomatik olarak veritabanında uygun tablo oluşturur.

Örnek Kod:

// set the default primary key to be named 'id', integer, 4 bytes, Auto Increment = true
Doctrine_Manager::getInstance()->setAttribute(
Doctrine::ATTR_DEFAULT_IDENTIFIER_OPTIONS,
array('name' => 'id', 'type' => 'integer', 'length' => 4, 'autoincrement' => true));

Ama ne ben bir "id" sütunu gerek yoktu bir tablo / modeli olsaydı?

1 Cevap

Birincil anahtar olarak başka bir sütun belirtmek vermedi sadece doktrini bu id sütun yaratacaktır.

Örneğin kullanmak, eğer:

Example:
  tableName: examples
  columns:
    sometext: string(12)
    somedate: date(25)
    sometimestamp: timestamp(25)

Bu id adında bir sütun üretecek birincil anahtar olarak, şemanın herhangi BA'lar set vermedi.

Ama eğer, bunun yerine, kullanın:

Example:
  tableName: example
  columns:
    someint:
      type: integer(10)
      primary: true
    sometext: string(12)
    somedate: date(25)
    sometimestamp: timestamp(25)

Secound örnek id üretmek olmaz, bu nedenle herhangi bir sabit geçersiz gerek bile yok. Bu Doktrin güçler size masalarda en az bir birincil anahtar, bir yol veya başka var gibi, ama bir "sorun" yol açar. Bu sadece iyi uygulama zorlar :)