5丁目通信(仮称)

とある5丁目で活動する還暦を過ぎたWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

CakePHPでつまずいたこと2点の話し


CakePHPで作っていくと、思い通りに動いてくれないことがあります。わかると何てことはないかと思いますが、私が2つほど悩んだとこと。

モデル、コントローラ、ビューを作成して、いろいろ変更をかけていくと突然動かなくなりました。CakePHPはエラーメッセージが細かく表示してくれますのでありがたいのですが、「テーブルが見つからないよ。テーブル名はたぶんモデルの複数形だよ。」(非常な意訳)とかでます。テーブルの名前を見たり、ソースを追ったりしてもわからない。しかし、試しにコマンドプロントでDBに接続してみると、接続できない。何てことはない、DBのへのアクセス権限がないのが原因でした。テーブル構造を変更したので、createt tableでSQLを発行したときに、オーナーがDB管理者権限になっていました。

bake.phpでモデル、コントローラ、ビューを作成して、一覧ページ(indexアクション)から追加ページ(addアクション)でレコードを追加しました。そのレコードを編集しようとしても編集できません(editアクション)。編集ページに行こうとしようとすると、一覧ページ戻ってしまいます。これも簡単な原因でした。対象となるテーブルのIDがオートインクリメントに設定されてませんでした。追加したときにIDは0になっていました。これで、editアクションのIDチェックでエラーになっていました。

以上、私がやってしまったCakePHPでのとても単純なミス(後者は、テーブル設定のミス)でした。

著:山田祥寛
¥3,366 (2024/11/21 16:43時点 | Amazon調べ)
著:松浦 健一郎, 著:司 ゆき
¥2,574 (2024/11/21 16:43時点 | Amazon調べ)
著:谷藤賢一, 著:徳丸浩
¥2,750 (2024/11/21 16:43時点 | Amazon調べ)