• 締切済み

cakephpでidに紐づけて記事を表示

cakephpでblogアプリケーションを作成しています。 /blog/記事のID のURLをクリックすると該当の記事が見れるようにしたいです。 不思議なのですが、DB側のカラム名がid(blogのID名)だと正しく表示されるのですが、DBの値をnoやnooなどid以外の値にすると何も表示されません。 デバッグのSQLさえも何も表示されない状況です。 具体的なコードを記載します。 正しく表示される場合 コントローラ class PostsController extends AppController { public $helpers = array('Html','Form'); public function index(){ $this->set('posts',$this->Post->find('all')); } public function view($xxx = null){ $this->Post->id = $xxx; $this->set('post',$this->Post->read()); } } ビュー <h2><?php echo h($post['Post']['num']); ?></h2> <p><?php echo h($post['Post']['hel']); ?></p> モデル <?PHP class Post extends AppModel { } ?> 何も表示されない場合 コントローラ 以下だけが上記と異なります。 public function view($xxx = null){ $this->Post->no = $xxx; ★この部分 $this->set('post',$this->Post->read()); } ビュー・モデルは同上で、DBのカラム名をidからnoに変更しています。 データベースの中身は以下です。 以下のidをnoに変更した場合うまくいきません。 id num hel _________________ 3 4 hello world 21 21 abcde 0 3 okokokoko 何かアドバイスいただけないでしょうか。 viewを見る際に何もデバッグ情報が出ないので何が悪いのかもわからない状況です。

みんなの回答

noname#247307
noname#247307
回答No.1

>ビュー・モデルは同上で、DBのカラム名をidからnoに変更しています。 とありますが、Postモデルを見ると、中身が何もありませんが……。 public $primaryKeyはちゃんと書いてあるんでしょうか。何も書いてなければデフォルトで$primaryKey ='id'としてプライマリキーを認識しますが。

関連するQ&A