**** ma fonction last() me retourne
( ! ) Notice: Trying to get property of non-object : je n'arrive pas à trouver la solution la requete SQL est bonne, la connexion à la db aussi... je pense que ça viens de ma fonction query mais pas sur, et je sais pas comment on met du code dans le forum pour que ça fasse joli... si quelqu'un a eu le meme souci ;-)
on a peu dinfo là. a mon avis tu essais d'appeler une fonction mais ta variable doit etre nulle
<?php foreach (App::getInstance()->getTable('post')->last() as $post): ?>
<h2>
<a href="<?= $post->url; ?>"><?= $post->title; ?></a>
</h2>
<?php endforeach; ?>
le probleme vient du $post-> //
public function last() {
return $this->query('
SELECT posts.id, posts.title, posts.content, posts.date, categories.title
AS categorie
FROM posts
LEFT JOIN categories
ON category_id = categories.id
ORDER BY posts.date DESC');
}
public function query($statement, $attributes=null, $one=false){
if ($attributes){
return $this->db->prepare(
$statement,
$attributes,
str_replace('Table', 'Entity', get_class($this)),
$one);
}else{
return $this->db->query(
$statement,
str_replace('Table', 'Entity', get_class($this)),
$one);
}
Hello. Les données retournées sont sous forme de tableau et non pas sous forme d'objet.
Dans ton code, je vois que tu as défini un PDO::FETCH_CLASS
, ce qui normalement devrait te retourner des données sous forme d'objet, donc je ne vois pas d'où peut venir le problème à moins que le nom de la classe donné à PDO::FETCH_CLASS
est mauvais. Fichier MysqlDatabase.php:query
.
oui, je je pense que ça viens du refactoring que j'ai pas fait correctement, je reprends tout depuis le depart et je vous tiens au courant