Salut a tous!

J'ai un probléme qui me rend fou... j'ai une table

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
CREATE TABLE `district` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(52) NOT NULL,
  `x` float(5,3) NOT NULL,
  `y` float(5,3) NOT NULL,
  PRIMARY KEY  (`x`,`y`),
  KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
et un model
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
class Model_District extends Zend_Db_Table_Abstract{ 	 	
	protected $_name='district'; 	 	 	 	 	 
	protected $_primary=array('x','y');
	protected $_sequence='id';
	protected $_referenceMap    = array();
et je fais simplement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
class TestController extends Zend_Controller_Action{
		public function indexAction(){
			$districtTable=new Model_District();
			$district=$districtTable->createRow();
			$district->name='test';
			$district->x=55.2;
			$district->y=32.44;
			$district->save();
                        exit;
		}
	}
et j'obtiens une magnifique erreur
Cannot refresh row as parent is missing

et la ou je suis en train de devenir fou c'est que 55.2 c'est un float, et que si je met 55 ca marche trés bien, que se passe t-il ??? on ne peux pas assigner un float ???


Tout eclairage sur ce probleme serait plus que le bienvenu!
J'ai tester dans tous les sens et je comprend vraiment pas ...

Je rappel que mon code marche avec
$district->x=55;
$district->y=32;
mais pas avec
$district->x=55.2; // j ai tester avec '55.2' ca marche pas non plus
$district->y=32.44;

MAIS allez savoir pourquoi l enregistrement est quand meme inscrit dans la base de donnée ... en gros j'ai juste a faire un try catch et ne pas traiter l erreur mais ... bon^^

merci!