Ich bin relativ neu in Cake PHP-Framework und versuchte einige Dinge darin. Ich habe eine Blog-Datenbank erstellt. Ich habe versucht, ein Array von Anzahl der Beiträge in einem bestimmten Jahr mit der debug() -Funktion zu sehen. Ich schrieb die folgende Funktion im Post-Modell.Problem mit Debug-Funktion in 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)));
}
Dann habe ich eine Lese-Funktion in der posts_controller enthalten.
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));
}
Schließlich wird eine eine Lese View-Datei erstellt (read.ctp) und enthielt die Debug-Funktion in diesen
<?php debug($posts) ?>
Nun, das Problem ist, dass ich ein leeres Array bin immer, wenn ich den Start Aktion in der URL: http://localhost/posts/read/2009 Ich habe bereits 3 Beiträge, aber ich bekomme keine von ihnen im Array. Was fehlt mir?
Können Sie einen SQL-Dump der Tabelle hinzufügen? Vielleicht stimmen die Beiträge nicht mit Ihrer Suchanfrage überein? –
Haben Sie das generierte SQL überprüft (setzen Sie debug auf 2 in app/config/core.php)? – dhofstet
WÄHLEN 'Post' 'id',' Post''name', 'Post''date',' Post''content', 'Post''user_id',' User''id', "Benutzer", "Benutzer", "Benutzer", "Vorname", "Benutzer", "Nachname", "von den Stellen", AS "Post", "LINKS", "Benutzer", "Benutzer", "ON" ('Post'.user_id' =' User''id') WHERE DATUM ('Post''date') = '<2009-12-31 23:59:59' –