We have moved our forum to GitHub Discussions. For questions about Phalcon v3/v4/v5 you can visit here and for Phalcon v6 here.

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.



16.4k
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 id_data y data (id_data 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)