Solved thread

This post is marked as solved. If you think the information contained on this thread must be part of the official documentation, please contribute submitting a pull request to its repository.

Modelo con primary key compuesta en postgresql

Hola a todos!! Estoy tratando de ocupar update/save en un modelo que tiene una primary key compuesta, lei que no se puede, esto es así? Cualquier ayuda la agradezco!!

Salu2. Jpt.



11.1k
Accepted
answer

LeistE la documentación de model metadata? Debes Especificar las ids allí

edited May '15

Hola, si lo lei, pero no me funciona. Puede ser problema del tipo de tabla? tengo lo siguiente:

CREATE TABLE X
(
  id_data integer NOT NULL,
  data text NOT NULL,
  CONSTRAINT X_pk PRIMARY KEY (id_data,data)
)
class X  extends ModelBase
{
    public $id_data;
    public $data;
}
class XController extends ControllerBase
{
    public function saveAction()
    {
       ....
       $x = X::Findfirst(array("id_data:iddata: AND data:data:",'bind'=>array('iddata'=>1,'data'=>'test')));
       $x->id_data = 2;
       if ($x->update()==false){
          echo "ERROR";
       }else{
           echo "OK";
       }
       /*
       Salida:
       OK, pero no graba en la base de datos

       */
    }
}

Muchas gracias por la ayuda!! Jpt.

trata con: en el Model:

public function getSequenceName() {
      return "id_data";
  }

Y que en tu base de datos la columna sea el primary Key y autoincrement (aunq este ultimo no crea q sea necesario)

Gracias por tu respuesta. Sin embargo no la respuesta no esta ahi, si hago lo que me dices si funciona, pero el problema es que la primary key es compuesta por iddata y data (iddata no es autoincrement), ya que viene de una relación N:N

Salu2.

trata con: en el Model:

public function getSequenceName() { return "id_data"; }

Y que en tu base de datos la columna sea el primary Key y autoincrement (aunq este ultimo no crea q sea necesario)