5丁目通信(仮称)

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

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


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

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

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

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

ブログランキング・にほんブログ村へ 人気ブログランキング

%d人のブロガーが「いいね」をつけました。