1

複数の HABTM 関係を持つスキーマがあります。スキーマをテストするために、この段階でほぼすべてのコードを焼き付けています。

関連するテーブルに INT 主キーがない場合、HATBM の関係が正しく満たされないことに注意してください。

VARCHAR(50) の PK を使用する必要があります。PK が VARCHAR(50) の場合、HABTM は結合テーブルを正しく更新しないようです。

これに対する回避策を知っている人はいますか? Centos 6.3でケーキ2.2.1を使用しています

4

1 に答える 1

1

INTCakePHP は、主キーまたは主キーの使用のみをネイティブにサポートしCHAR(36)ます。PK として使用VARCHAR(50)するには、属性を使用$primaryKeyし、モデル関数 ( などbeforeSave) またはコントローラーでPK の生成/操作を行う必要があります。

if($this->data) {
  $this->data['SomeModel'][$this->SomeModel->primaryKey] = 'your key value';
}
于 2012-09-20T16:03:00.217 に答える