Jack Fiallos Blog (AkKa Erling) Vida, Curiosidad y Proyectos

Como utilizar CJoinElement en una tabla sin PrimaryKey con #YiiFramework

No Gravatar

Yii Framework

Yii Framework

Es bien sabido por quienes utilizan yii framework que la indexación de los campos de una tabla siempre se realiza mejor si esta tiene un campo tipo PrimaryKey y ciertamente la mayoría de tablas en una BD contienen este tipo de campo siempre y cuando no sean campos de relación (muchos a muchos – many_many). Entonces este tipo de tablas al no contener una llave primaria generan un error en las consultas del motor de AR de Yii Framework ..

Problem in CActiveFinder : line x –> $this->_pkAlias y la descripción continua..

Para este sencillo ejemplo tengo una tabla llamada Usuarios y otra llamada Grupos, ambas relacionadas a una tabla llamada UsuariosGrupos, esta tabla es relacional no contiene ningun campo tipo primaryKey por lo que genera el error que mencioné.

No estoy seguro, pero creo que se trata de un bug en el framework, aunque no tiene mucha importancia ya que la manera de corregirlo es sobreescribiendo un método de la clase CActiveFinder. El método se llama primaryKey() y lo que debe de retornar es el campo que se tomará como llave primaria.

1
2
3
4
5
6
class Usuarios_has_Grupos extends CActiveRecord {
     public function primaryKey()
     {
          return 'id_usuario';
     }
}

About the author

Erling Fiallos wrote 290 articles on this blog.

Profesional en el Desarrollado de aplicaciones web, usuario de linux, fanático de la tecnología. Arquitecto de interfaces apasionado uso de los estándares web Usabilidad/Accesibilidad.. En el camino he aprendido mucho sobre diseño y me dedico a mejorar las aplicaciones pensando en que toda la web debe de ser accesible para todas las personas. Parte activa en el equipo de desarrollo y consultoría de Qbit Mexhico.

There are currently no comments highlighted.

Entradas Similares:

  1. Friendly URLs (Enlaces amigables desde aplicaciones con YiiFramework)
  2. Estrenando extension para Yii Framework en Github
  3. Yii Framework ¿Ya tengo mi Base de Datos y ahora que hago?
  4. Para la siguiente liberación de Celestic
  5. Consideraciones al probar una aplicación web

Leave a Reply