2012-04-25 2 views
3

может кто-нибудь сказать мне, что не так с моим кодом.Преобразование MySQL BIT в BOOLEAN с Doctrine

Использование Doctrine 2 с PHP 5.3 MySQL 5.5

Моим отображением YAML для поля БИТ называется IsDefault, который имеет значение 1 или 0 depeding, если я хочу значение, чтобы быть истинным или ложным в моем приложении:

IsDefault: 
    type: boolean 
    nullable: false 

Сформированный Entity является:

/** 
* @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; 
} 

к сожалению, когда доступ к данным в моем приложении каждая строка возвращает IsDefault в TRUE. Кто-нибудь знает, почему?

+1

Невнятный вопрос, но содержит ли базовые db записи, где столбец 'IsDefault'' FALSE'? – eggyal

+0

- хранимое значение db 0/1 или TRUE/FALSE? – virtualeyes

+0

@eggyal на самом деле хороший вопрос ;-) Я предполагал, что OP был обеспокоен обработкой 0/1 по сравнению с TRUE/FALSE в коде, но опять же, в PHP, система типа «свободна», по меньшей мере, – virtualeyes

ответ

2

У меня такая же проблема, и я меняю Bit(1) на TINYINT(1) и работает хорошо.

Смежные вопросы