cette requete retourne un tableau vid, qui peut m;aider svp?
public function Last(){
$rep = "SELECT post.id, post.name, post.content, post.created_at, users.username
FROM post
INNER JOIN users
ON post.session_admin = users.id
WHERE publier = 0
ORDER BY post.date DESC";
$res = $this->getPdo()->prepare($rep);
$res->execute();
$result = $res->fetchAll(PDO::FETCH_CLASS, $this->class);
return $result;
}
Bonjour,
Les erreurs PDO sont-elles activées ?
J'ai un doute si tu n'es pas obligé de mettre post.date dans le SELECT quand tu l'utilises avec ORDER BY. As-tu testés cette requête dans PMA ?
Pour la date, je mets post.create_at
quand je fais un dd sur la requette elle me retourne un tableau vid
un autre prob Carouge10, j'ajoute un AND apres elle retourne encore le tableau vide
Erreur: Call to a member function getCategories() on string
requette: public function hydratePost(array $post){
$postById = [];
foreach($post as $posts){
$posts->setCategories([]);
$postById[$posts->getId()] = $posts;
}
$categorie = $this->pdo
->query('SELECT c.*, pc.post_id
FROM post_category pc
JOIN category c ON c.id = pc.category_id
WHERE pc.post_id IN (' . implode(',', array_keys($postById)) . ')
')->fetchAll(PDO::FETCH_CLASS, $this->class);
foreach($categorie as $category){
$postById[$category->getPostId()]->addCategory($category);
}
}
Appel de la requette : $jointures = (new PostTable($pdo))->last($session);
(new CategoryTable($pdo))->hydratePost([$jointures]);
Code qui genere l'erreur: <?php
$categories = [];
foreach($jointure->getCategories() as $k => $category){**
$url = $router->url('category', ['id' => $category->getId(), 'slug' =>$category->getSlug()]);
$categories[] = <<<HTML
<a href="{$url}" >{$category->getName()}</a>
HTML;
}
?>