private function test2() { /** * Consultas: * * SELECT MAX(id) AS max * FROM test_m010_persona * * INSERT INTO test_m010_persona ( * nombre ,class ,deleted ,id * ) * VALUES ( * 'Isabel de York' ,'M010_Persona' ,'0' ,'1' * ); * * INSERT INTO test_m010_persona ( * nombre ,class ,deleted ,id * ) * VALUES ( * 'Enrique VIII' ,'M010_Persona' ,'0' ,'2' * ); * * INSERT INTO test_m010_persona ( * nombre ,class ,deleted ,id * ) VALUES ( * 'Elizabeth I' ,'M010_Persona' ,'0' ,'3' * ); * * SELECT obj.nombre, obj.class, obj.deleted, obj.id * FROM test_m010_persona_hijos_test_m010_persona ref, test_m010_persona obj * WHERE (ref.owner_id=3 AND obj.id=ref.ref_id) * * SELECT count(id) as cant * FROM test_m010_persona_hijos_test_m010_persona * WHERE (test_m010_persona_hijos_test_m010_persona.owner_id=2 AND test_m010_persona_hijos_test_m010_persona.ref_id=3) * * SELECT MAX(id) AS max * FROM test_m010_persona_hijos_test_m010_persona * * INSERT INTO test_m010_persona_hijos_test_m010_persona ( * owner_id ,ref_id ,type ,ord ,class ,deleted ,id * ) * VALUES ('2' ,'3' ,'1' ,NULL ,'ObjectReference' ,'0' ,'1' ); * * INSERT INTO test_m010_persona ( nombre ,class ,deleted ,id ) * VALUES ('Eduardo VI' ,'M010_Persona' ,'0' ,'4' ); * * SELECT id FROM test_m010_persona WHERE id=4 * * SELECT obj.nombre, obj.class, obj.deleted, obj.id * FROM test_m010_persona_hijos_test_m010_persona ref, test_m010_persona obj * WHERE (ref.owner_id=4 AND obj.id=ref.ref_id) * * SELECT count(id) as cant * FROM test_m010_persona_hijos_test_m010_persona * WHERE (test_m010_persona_hijos_test_m010_persona.owner_id=2 AND test_m010_persona_hijos_test_m010_persona.ref_id=4) * * SELECT MAX(id) AS max FROM test_m010_persona_hijos_test_m010_persona * * INSERT INTO test_m010_persona_hijos_test_m010_persona ( * owner_id ,ref_id ,type ,ord ,class ,deleted ,id * ) * VALUES ('2' ,'4' ,'1' ,NULL ,'ObjectReference' ,'0' ,'2' ); * * SELECT count(id) as cant FROM test_m010_persona_hijos_test_m010_persona WHERE (test_m010_persona_hijos_test_m010_persona.owner_id=1 AND test_m010_persona_hijos_test_m010_persona.ref_id=2) * * SELECT MAX(id) AS max FROM test_m010_persona_hijos_test_m010_persona * * INSERT INTO test_m010_persona_hijos_test_m010_persona ( owner_id ,ref_id ,type ,ord ,class ,deleted ,id ) VALUES ('1' ,'2' ,'1' ,NULL ,'ObjectReference' ,'0' ,'3' ); * */ // WARNING: // Guarda en cascada por el belongsTo de M010_Persona $persona = new M010_Persona(array("nombre" => "Isabel de York", "hijos" => array(new M010_Persona(array("nombre" => "Enrique VIII", "hijos" => array(new M010_Persona(array("nombre" => "Elizabeth I")), new M010_Persona(array("nombre" => "Eduardo VI")))))))); if (!$persona->save()) { Logger::struct($persona->getErrors(), "Falla test m010"); } else { echo "Guarda Ok<br/>"; } }
private function test4() { $vaso = new Vaso(array("material" => "alpaca", "marca" => "coca cola", "capacidad" => 5.0, "contenido" => new Contenido(array("elemento" => "agua", "volumen" => 6.5)))); // WARNING: // Como el Vaso no es duenio del contenido, el contenido no se salva // al salvar el vaso, hay que hacerlo antes de guardar el vaso. /* No quiero guardar el contenido, quiero verificar que falla la guardada del vaso porque hay mas contenido que su capacidad. if (!$vaso->getContenido()->save()) { Logger::struct( $vaso->getContenido()->getErrors(), "Falla test 2.1" ); } else { echo "Guarda contenido<br/>"; } */ if (!$vaso->save()) { Logger::struct($vaso->getErrors(), "Falla al guardar Vaso"); echo "Test 4 exitoso<br/>"; } else { echo "Guarda vaso<br/>"; echo "Test 4 erroneo<br/>"; } }
private function test2() { $vaso = new Vaso1(array("material" => "vidrio", "marca" => "coca cola", "capacidad" => 5.0, "contenido" => new Contenido1(array("elemento" => "agua", "volumen" => 4.5)))); // En este test, Vaso es duenio de Contenido asi que lo salva en cascada. // WARNING: // Como el Vaso no es duenio del contenido, el contenido no se salva // al salvar el vaso, hay que hacerlo antes de guardar el vaso. /* if (!$vaso->getContenido()->save()) { Logger::struct( $vaso->getContenido()->getErrors(), "Falla test 2.1" ); } else { echo "Guarda contenido<br/>"; } */ if (!$vaso->save()) { Logger::struct($vaso->getErrors(), "Falla test 2.2"); } else { echo "Guarda vaso<br/>"; } }
private function test4() { $mano = new Mano(array("tamanio" => "extra large", "dedos" => array(new Dedo(array("uniaLarga" => true)), new Dedo(array("uniaLarga" => false))))); if (!$mano->save()) { Logger::struct($mano->getErrors(), "Falla salvar m003.4"); echo "Test m003.4 correcto<br/>"; // quiero probar que tira error violando una constraint. } else { echo "Guarda Ok<br/>"; echo "Test m003.4 fallido<br/>"; } }