ブログアプリ制作
パソコンのことなら、なんでも詳しいだろうという
勝手な家族の思い込みにより、
私は家族から頼りにされています。
コピーができないとか…
保存ができないとか……
本当にちっぽけなことなんです。
そんな、ちっぽけなことでも、
家族の力になれたら、
ちょっぴり嬉しい私なのでした。
本日のメニュー
■ブログアプリ制作
- コメント
本日も、ひたすらコメント機能の作成に着手していました。
コメントフォームのバリデータも完了したはずで、
よっし、これで完了!!って感じて、
ルンルン♪だったのですが…、
気付いてしまったのです。
コメントが書かれてる記事を、
削除しようとするとエラーがでる!!
ガビーン…。
それそも、
記事を削除する時、コメントも削除するって言う風に、
プログラム書いてないから当たり前だよね。
もともとのデリート(ひとつの記事を削除)
public function executeDelete() { $article = ArticlePeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($article); $article->delete(); return $this->redirect('@homepage'); }
自分で関数作った(〜/lib/model/CommentPeer.phpの中に)
その記事のコメントを全部とってくる関数
public static function getCommentbyArticleId($id)
{
$criteria = new Criteria();
$criteria->add(CommentPeer::ARTICLE_ID, $id);
$v = CommentPeer::doSelect($criteria);
return $v;
}
この関数を使って、記事削除のアクションに、
コメント全部削除も追加した。
public function executeDelete() { $article = ArticlePeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($article); //記事idからコメントを取得 $comments = CommentPeer::getCommentbyArticleId($this->getRequestParameter('id')); //コメントがあれば、全消去 if($comments){ foreach($comments as $comment){ $comment->delete(); } } //記事を削除 $article->delete(); return $this->redirect('@homepage'); }
これで無事に、
記事もコメントも削除できたとさ、めでたしめでたし。
しかし、トランザクションしなきゃな…。
ブログ制作を1週間以上やってきて、
初めて自分で関数作った気がする…。
自分でつける関数名ってなんか、
センスが問われるというか…ちょっぴり迷う。
ってか、本当に最近強く感じる…。
まだまだだな…。
まだまだ過ぎるっ!!