かすてらすねお。(hateblo)

見聞録的ななにか。

CakePHPにおいてインデックスに相当するテーブル項目は必ず"id"と命名すること。

状況

ユーザの情報を格納するテーブル"users"、
食べ物の情報を格納するテーブル"foods"がある。
usersはfoodsへの外部参照を行う"foods_id"を持つ。

ミス内容

foodsのidに相当する項目の名前を"foods_id"と命名した

解決方法

"foods_id"を"id"に訂正

反省

CakePHPにおいてインデックスを示す項目は必ず"id"とすること。
さもなくば、外部参照においてCakePHPが自動認識に失敗する。