私はCake PHPフレームワークには比較的新しいので、少し試してみました。私はブログのデータベースを作った。私はdebug()関数を使って、特定の年に投稿された投稿の配列を表示しようとしていました。 私はポストモデルで次の関数を書いています。PHPのデバッグ機能に問題がある
function findByYear($year = null){
$date = $year.'-01-01 00:00:00';
$end_date = $year.'-12-31 23:59:59';
return $this->find('all',array('conditions'=>array('DATE(Post.date)'=>'>'.$date,'DATE(Post.date)'=>'<'.$end_date)));
}
次に、posts_controllerにread関数を追加しました。
function read($year=null) {
if (!$year) {
$this->Session->setFlash('Please supply a year');
$this->redirect(array('action'=>'index'));
}
$this->set('posts',$this->Post->findByYear($year));
}
最後に、読み取りビューファイル(read.ctp)を作成し、今では
<?php debug($posts) ?>
でのデバッグ機能を含め、問題は、私は起動したとき、私は空の配列を取得していますということですURLのアクション: http://localhost/posts/read/2009 私は既に3つの投稿を持っていますが、私はそれらの配列を取得していません。 私は何が欠けていますか?
テーブルのSQLダンプを追加できますか?投稿が検索クエリに一致していない可能性がありますか? –
生成されたSQLを確認しましたか(app/config/core.phpで2に設定してください)? – dhofstet
SELECT 'Post'.'id''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'User'.'name'、' User'.'email'、 'User'.firstname'、' User'.'lastname'''''''''''''''''''''''''''''''' 'Post'.user_id' =' User'.'id')WHERE DATE( 'Post'.'date')= '<2009-12-31 23:59:59' –