質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

1回答

3963閲覧

CakePHPでテーブル内容が反映されない

marico600

総合スコア15

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

1クリップ

投稿2015/02/26 07:41

編集2015/03/06 01:14

CakePHPを今年から学びだした、初心者です。
ドットインストール[http://dotinstall.com/lessons/basic_cakephp/7528]のCakePHP講座を見ながら、

ブログシステムを作っていますが、最後の方のcommentテーブルを作り、その後comment一覧を表示させるという講義がありますが、どうしても一覧表示ができません。

ブラウザ表示 ↓
![イメージ説明]WIDTH:600

テーブルはcakephpというデータベースの中にcommentsという名前で作りました。↓
![イメージ説明]WIDTH:600

Model/Comment.phpに書いたコード

lang

1 2 class Comment extends AppModel { 3 public $belongsTo = 'Post'; 4 } 5

Model/Post.phpに書いたコード

lang

1 2class Post extends AppModel { 3 public $hasMany = "Comment"; 4 5 public $validate = array( 6 'title' => array( 7 'rule' => 'notEmpty', 8 'message' => '空じゃダメだよ' 9 ), 10 'body' => array( 11 'rule' => 'notEmpty' 12 ) 13 ); 14} 15

view.ctpに書いたコード

lang

1<h2><?php echo h($post['Post']['title']); ?></h2> 2 3<p><?php echo h($post['Post']['body']); ?></p> 4 5<h2>Comments</h2> 6 7<ul> 8<?php foreach ($post['Comment'] as $comment): ?> 9<li id="comment_<?php echo h($comment['id']); ?>"> 10<?php echo h($comment['body']) ?> by <?php echo h($comment['commenter']); ?></li> 11<?php echo $this->Html->link('削除', '#', array('class'=>'delete', 'data-comment-id'=>$comment['id'])); 12?> 13</li> 14<?php endforeach; ?> 15</ul> 16 17<h2>Add Comments</h2> 18 19<?php 20echo $this->Form->create('Comment', array('action'=>'add')); 21echo $this->Form->input('commenter'); 22echo $this->Form->input('body', array('rows'=>3)); 23echo $this->Form->input('Comment.post_id', array('type'=>'hidden', 'value'=>$post['Post']['id'])); 24echo $this->Form->end('post comment'); 25?> 26 27<script> 28 $(function() { 29 $('a.delete').click(function(e) { 30 if (confirm('sure?')) { 31 $.post('/blog/comments/delete/'+$(this).data('comment-id'),{}, function(res) { 32 $('#comment_'+res.id).fadeOut(); 33 }, "json"); 34 } 35 return false; 36 }); 37 }); 38 </script> 39

お解りになる方いらっしゃいましたら、何でも良いので教えて下さい。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

commentsテーブルだと思いますが、post_id = 3 のデータは保存されていますか?
あとは、コントローラーでfindしたデータなどをdebug()してみれば、データが取れているか確認できると思います。

投稿2015/02/26 08:13

adimus

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

marico600

2015/02/26 08:51

ご回答ありがとうございます。 commentsテーブルにpost_id = 3がありませんでした。 phpMyAdminでpost_idのを3にしたら、表示されました。 なんとなくですが、、反映されない原因が解って嬉しいです! あえいがとうございます。もう少し探ってみながらチャレンジしてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問