teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

このままではだめでした。コード修正が必要です。

2015/07/15 00:27

投稿

ShoheiTai
ShoheiTai

スコア911

answer CHANGED
@@ -2,5 +2,10 @@
2
2
  profilesテーブルの設計はどうのようになっているのでしょうか?
3
3
  CakePHPのモデルは主キーのカラム名が「id」であると勝手に認識しています。
4
4
  なのでuser_idを主キーにしているのであればProfileモデルでprimaryKeyの設定をしてやる必要があります。
5
- Profile.phpにpublic $primaryKey = 'user_id';を追加すると明示的に主キーのカラムを設定できるので、今回のコードのま期待通りの結果を得られるかと思います。
5
+ Profile.phpにpublic $primaryKey = 'user_id';を追加すると明示的に主キーのカラムを設定できます。
6
+ その上で
7
+ $this->Profile->user_id = $user;
8
+ となっているところを
9
+ $this->Profile->id = $user;
10
+ に変更してください。
6
11
  [CakePHP primaryKey](http://book.cakephp.org/2.0/ja/models/model-attributes.html#primarykey)