мой вопрос очень прост.У меня есть эта модель, где я хочу вставить запись с нулевым значением в одно из полей (finRango
), используя данные фиксации доктрины orm.вот что я попробовал:
fila41_zona5:
MetodoEnvio: dhl
zona: 5
inicioRango: 20.00
finRango: NULL
precio: 7.15
также пробовал:
fila41_zona5:
MetodoEnvio: dhl
zona: 5
inicioRango: 20.00
finRango:
precio: 7.15
и даже:
fila41_zona5:
MetodoEnvio: dhl
zona: 5
inicioRango: 20.00
precio: 7.15
Я всегда получаю ноль (0,00) в finRango
поле.Я определил свою схему из схемы базы данных, и это поле не определено с NOT NULL
.Это часть первичного ключа таблицы, но это может быть NULL
(мне нужно, чтобы он был нулевым в конкретном случае, из-за того, что представляет модель).Вот определение схемы, сгенерированное задачей php symfony doctrine:build-schema
:
//An extract from my config/doctrine/schema.yml:
PrecioEnvio:
connection: doctrine
tableName: PrecioEnvio
columns:
idmetodo:
type: integer(4)
fixed: false
unsigned: true
primary: true
autoincrement: false
zona:
type: integer(4)
fixed: false
unsigned: false
primary: true
autoincrement: false
iniciorango:
type: 'decimal(10, 2)'
fixed: false
unsigned: false
primary: true
autoincrement: false
finrango:
type: 'decimal(10, 2)'
fixed: false
unsigned: false
primary: true
autoincrement: false
precio:
type: 'decimal(10, 2)'
fixed: false
unsigned: false
primary: false
notnull: true
autoincrement: false
relations:
MetodoEnvio:
local: idmetodo
foreign: id
type: one
Это определение SQL таблицы, из которой была сгенерирована эта схема:
CREATE TABLE IF NOT EXISTS `sawpruebaTienda`.`PrecioEnvio` (
`idMetodo` INT UNSIGNED NOT NULL ,
`zona` INT(3) NOT NULL ,
`inicioRango` DECIMAL(10,2) NOT NULL COMMENT 'Marca el inicio del rango de peso para el cual este precio aplica.' ,
`finRango` DECIMAL(10,2) NULL COMMENT 'Marca el fin del rango de peso para el cual este precio aplica.' ,
`precio` DECIMAL(10,2) NOT NULL ,
PRIMARY KEY (`idMetodo`, `inicioRango`, `finRango`, `zona`) ,
INDEX `fk_PrecioEnvio_MetodoEnvio` (`idMetodo` ASC) ,
CONSTRAINT `fk_PrecioEnvio_MetodoEnvio`
FOREIGN KEY (`idMetodo` )
REFERENCES `sawpruebaTienda`.`MetodoEnvio` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
Даже будучи некапитализированным всхема, поля inicioRango
и finRango
интерпретируются правильно.Единственная проблема - когда я пытаюсь сохранить значение NULL
на finRango
.
Я использую MySQL!
Спасибо за любую помощь!