Como utilizar CJoinElement en una tabla sin PrimaryKey con #YiiFramework
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'; } } |
