2012-04-25 7 views
3

を使用してMySQL BITフィールドをBOOLEANに変換すると、誰でも自分のコードに何が問題なのか教えてくれます。教義2を使用してDoctrine

PHP 5.3とMySQLの5.5

私は価値が私のアプリケーションでは真または偽になりたい場合は1または0 depedingの値を持っているのIsDefaultと呼ばれるビットフィールドのための私のYAMLマッピング:

IsDefault: 
    type: boolean 
    nullable: false 

生成されたエンティティがある:私のアプリにデータにアクセスする際

/** 
* @var boolean $IsDefault 
*/ 
private $IsDefault; 


/** 
* Set IsDefault 
* 
* @param boolean $isDefault 
* @return Model 
*/ 
public function setIsDefault($isDefault) 
{ 
    $this->IsDefault = $isDefault; 
    return $this; 
} 

/** 
* Get IsDefault 
* 
* @return boolean 
*/ 
public function getIsDefault() 
{ 
    return $this->IsDefault; 
} 

残念ながら、すべての行がTRUEとしてのIsDefaultを返します。 誰にも分かりますか?

+1

ばかな質問が、基礎となるDBは、実際に 'IsDefault'列が' false'のあるレコードが含まれていますか? – eggyal

+0

はdbの値0/1またはTRUE/FALSEです。 – virtualeyes

+0

実際;-)私はOPは対コードでFALSE/TRUE 0/1の取り扱いについて心配していたと仮定したが、その後、再び、PHPで、「タイプ」システムは恥少なくとも – virtualeyes

答えて

2

私は同じ問題を抱えている、と私はTINYINT(1)Bit(1)を変更し、うまく機能しています。