CodeLab技術ブログ

プログラミング技術まとめ

CakePHP3で複合主キーを使う

CakePHP3が複数のプライマリキーを持つことができるようになったみたいなのだが、ずっと避けてきていましたが、ようやく使えそうなのでちょっといじってみました。

スポンサードリンク

というわけで、プライマリキーが複数あるモデルをBakeしてみたのですが…

Bake cannot generate associations for composite primary keys at this time

ダメじゃん。使えない。
実際保存しようとしても…

Cannot insert row, some of the primary key values are missing. Got (, , ), expecting(キーの名前)

という感じになって保存ができなかった。
ん?でもこれってEntityの方の_accessibleにカラム名がないからじゃないの?

ということで、Entityの方のファイル見てみたら、確かに記載がない。
でも、PK一つのテーブルの時、idはここに記載がないのでPKは書かなくてもいい(必須だから)のだろうと思うのだが、試しに書いてみたら保存できるようになった。

対応してますとはいえ、情報も少ないしいまいち完全に対応しきれてない感がありますね…。

スポンサードリンク

スポンサードリンク
スポンサードリンク

コメントは受け付けていません。