Problemas con id (not auto_increment)

Saludos,
Tengo una tabla con partidas presupuestarias que por definición tienen un identificador "string" particular, por citar un ejemplo los Textiles tienen el id: 4-02-03-01-00, por lo tanto lo definí en el modelo como un id de tipo varchar(13); ahora bien esta tabla se relaciona con artículos, pero cuando quiero utilizar en un "foreach" la convención de ActiveRecord: $insumo->getPartida()->nombre; me devuelve siempre el nombre de la partida del primer registro en la tabla (los demas campos del insumo si iteran). Tengo definido la relación en los modelos.

<?php
class Partida extends ActiveRecord {
public function __construct(){
$this->has_many('insumo');
}
}
?>
<?php
class Insumo extends ActiveRecord {
public function __construct(){
$this->belongs_to('partida');
}
}
?>

Es un bug? o exclusivamente debo utilizar id's enteros autonumericos?
Gracias de antemano.

Comentarios

  • Las convenciones de ActiveRecord en este sentido siguen siendo lsa mismas las tablas deben tener un campo ID autoincrement al no tener este campo en tu BD te esta generando problema con las relaciones...
  • edited 6:01
    A manera de información general lo siguiente tampoco funciona:

    $this->Partida->find("4-02-03-01-00");

    sino que hay que usar: $this->Partida->find("id = 4-02-03-01-00");

    Voy a revisar el patrón ActiveRecord, pero no creo que el "id" deba ser necesariamente autonumerico, se estaría limitando el alcance del patrón, precisamente.

    Mil gracias.
  • No es tanto si es patrón lo acepta o no simplemente el ActiveRecord de Kumbia trabaja así tan sencillo como esto, estamos claro es una limitante pero somos pocas las personas que mantenemos el framework y cuando uno comienza a trabajar con u framework uno se adapta a el hasta que lleguen las nuevas mejoras...

    Una pregunta, Haz utilizado Rails?
  • edited 6:01
    En efecto soy fanático de Rails desde hace varios años, por ello me pareció curioso que el id tuviera que ser "autonumerico", trabajo exclusivamente con patrones mientras el lenguaje me lo permita, y nunca escuche de esto en ActiveRecord.

    Ahora bien, ya me aclaras que es una limitante de Kumbia y no del patrón, eso lo entiendo y lo acepto así (no como lo explicaste en la respuesta anterior).

    Aprovecho entonces para expresarte que soy una de las personas que incentivo el uso de Kumbia en aplicaciones PHP en los cursos que doy, ya que soy un entusiasta del mismo desde hace ya mas de un año, entiendo el gran trabajo de desarrollar un framework (yo estoy desarrollando uno), las limitantes de tiempo (tampoco tengo mucho) de los desarrolladores, los cambios y mejoras que deben implementarse, pero no por ello consideres mi punto de vista como un "ataque" a la herramienta sino mas bien una aclaratoria a tu respuesta y al "deber ser", y considero que se debe respetar el punto de vista técnico de los demás, incluyendo el mio.

    Si lo desean, ofrezco mis servicios para dedicar parte de mi tiempo libre a ayudar a implementar cambios en el framework, ya sea como desarrollador o beta tester o como consideren pertinente, no tengo ningún inconveniente, ya que veo que no ha habido mucho movimiento en los últimos meses, lo cual podría "acelerar" un poco el desarrollo de la herramienta.

    Mil gracias, y quedo a su completa disposición.
  • Ahora bien, ya me aclaras que es una limitante de Kumbia y no del patrón, eso lo entiendo y lo acepto así (no como lo explicaste en la respuesta anterior).
    Esto se menciona en el libro quizás(digo yo) se te paso por alto por eso fue que mi respuesta fue directa en cuanto a que el ID debería ser autoincrement...
    Si lo desean, ofrezco mis servicios para dedicar parte de mi tiempo libre a ayudar a implementar cambios en el framework, ya sea como desarrollador o beta tester o como consideren pertinente, no tengo ningún inconveniente, ya que veo que no ha habido mucho movimiento en los últimos meses, lo cual podría "acelerar" un poco el desarrollo de la herramienta.

    Bueno nose si haz visto la version 0.5 del framework existen cambios realmente potentes que se han hechos ya soportamos las relaciones sin necesidad de seguir las convenciones como se ven en la version 0.4x esto quiere decir que las fk ya pueden ser cualquiera existen mejoras en el ActiveRecord muy notables quizas la que queda por fuera es esta de la PK seria cuestion de pensarla y ver como se implementa de manera tal que no se afecte en gran medida lo que tenemos avanzado te invito a que observes la version 0.5 y te daras cuenta de los cambios estos son solos unos hay muchos mas.

    Respecto a como puedas ayudar bueno realmente hay mucho trabajo queremos sacar un release de la versión 0.5 pero no tenemos Docs y si hacemos esto sin Docs es muy "chimbo" ya que muchos entre los cuales te incluyo podrá encontrar las nuevas funcionalidades pero la gente que viene llegando de seguro que lo primero que buscara es la Docs y cuando esta no concuerde con la estructura de archivo simplemente la gente se volverá loca, lo otro es que necesitamos testear muchas funcionalidad particularmente desarrollo una aplicación de tamaño mediana grande y estoy probando muchas de las funcionalidades que te hablo y de allí espero sacar How To y parte de la Docs hay otras muchas necesidades de momento estas son las mas resaltante.

    Y bueno mi intención nunca fue despreciar tu punto de vista, cuando uno escribe no expresa lo que piensa o lo que siento eso queda de parte al lector y el lector entiende como lee te pido disculpa si en el texto que leíste te sentiste ofendido o algo por el estilo al fin al cabo somo compatriotas y te puedo decir que las personas que mantenemos el framework actualmente es un pana de guarico, otro de espana y yo.
  • edited 6:01
    Bueno nose si haz visto la version 0.5 del framework existen cambios realmente potentes
    Precisamente te iba a preguntar si era prudente usar la versión 0.5b alfa, tenia mis dudas porque también estoy desarrollando una aplicación medianamente grande y no quería tener muchos inconvenientes en este momento, ya que tengo bastante trabajo adelantado.
    te invito a que observes la versión 0.5 y te darás cuenta de los cambios estos son solos unos hay muchos mas.
    La voy a bajar e iré indicando mis observaciones, lo que si es que me gustaría tener la mayor información posible de los cambios que han implementado para ir probando y hacer el trabajo de beta tester entonces, ademas de ir documentando también esos detalles y hacer una especie de HowTo.
    Respecto a como puedas ayudar bueno realmente hay mucho trabajo queremos sacar un release de la versión 0.5 pero no tenemos Docs y si hacemos esto sin Docs es muy "chimbo" ya que muchos entre los cuales te incluyo podrá encontrar las nuevas funcionalidades
    En efecto es "chimbo", cuando no vi el libro actualizado no quise bajar la versión alfa, pero como te digo, déjame hacer las revisiones a la herramienta en la medida de mis posibilidades, también me gustaría saber con que herramienta hicieron el Libro de Kumbia (que considero una belleza) y aunque tiene sus "detalles" técnicos es una excelente referencia, para ir documentando de la manera correcta.
    (1) Y bueno mi intención nunca fue despreciar tu punto de vista ... (2)te pido disculpa si en el texto que leíste te sentiste ofendido ... (3)te puedo decir que las personas que mantenemos el framework actualmente es un pana de guarico, otro de espana y yo.
    1. Sin problema compatriota.
    2. No tranquilo, solo quería aclarar por que mas bien sentí que fui yo quien escribió algo malo.
    3. Gratamente sorprendido, porque se que esto comenzó en Colombia, y bueno, espero unirme al clan prontamente, me pueden contactar al Gmail directamente.

    De mas esta decirle que soy entusiasta del Software Libre. <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) -->

    Gracias nuevamente por la atención, a la orden.
  • Precisamente te iba a preguntar si era prudente usar la versión 0.5b alfa
    Esta version actualmente lo que esta en el svn esta funcional, con esto te digo que no hay problema en utilizarla de hecho ganaras mucho en cuanto a la calidad del software que desarrolles claro no te voy a mentir pueden existir Bug que no se han detectado sin embargo yo la utilizo y aun no he encontrado un Bug que me haga perder la cabeza ahora mismo trabajo en el ACL es un componente que se le ha dado mucha larga... <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->

    En cuanto a los cambios que hemos realizado en la version 0.5 te dejo el repositorio alli hemos colocado los log bien específicos para ayudar al momento de Docs porq han habido muchos cambios...

    <!-- m --><a class="postlink" href="http://tools.assembla.com/kumbia/browser/0.5">http://tools.assembla.com/kumbia/browser/0.5</a><!-- m -->

    Y bueno bienvenido <!-- s;) --><img src="{SMILIES_PATH}/icon_wink.gif" alt=";)" title="Wink" /><!-- s;) -->...
Sign In or Register to comment.