Bonjour tout le monde !
Je débute actuellement avec Cake Php... J'ai suivit le tuto du site et je n'arrive pas a afficher correctement le résultat de mon controller ..
Mes différents fichiers :
PostController.php
<?php
class PostsController extends AppController {
var $name='Posts';
function index()
{
$q = $this->Post->find('all');
$this->set('articles',$q);
}
}
?>
Post.php
<?php
class Post extends AppModel
{
var $name='Post';
}
?>
Index.ctp
<h1>Titre</h1>
<?php
echo $articles;
?>
Et donc quand je vais sur ma page... J'ai cette erreur..
Notice (8): Array to string conversion [APP\View\posts\index.ctp, line 5]
Et quand je fais un debug($articles);
c'est vide..
Donc j'imagine que il y'a surement un soucis avec la BDD .. Mais je ne vois pas .. Une idée ? (je suis sur Cake 2.3)
Bonjour,
Si tu fais ça :
<?php
class PostsController extends AppController {
var $name='Posts';
function index()
{
$q = $this->Post->find('all');
debug($q); die();
}
}
?>
Et que tu n'as pas de retour, vérifies coté BDD.
Sinon question de simplicité de maintenance, Grafikart utilise quelque chose comme suit, et c'est vrai que je trouve ça plus simple.
<?php
class PostsController extends AppController {
var $name='Posts';
function index()
{
$q'articles'] = $this->Post->find('all');
$this->set($q);
}
}
?>
Ça revient au même mais au moins tu peux faire passer plusieurs ensemble de données avec la même variable.
Hum.. Ca ne m'affiche une page blanche et " \app\Controller\PostsController.php (line 8)"
Et si j'enlève le die j'ai mon débug vide.. Ensuite Cake m'informe sur la requête,
Nr Query Error Affected Num. rows Took (ms)
1 SELECT Post
.id
, Post
.titre
, Post
.contenu
, Post
.date
, Post
.category\_id
FROM blog
.posts
AS Post
WHERE 1 = 1 3 3 0
(Pas très lisible mais bon on voit bien que les 3 lignes de ma BDD sont affetées.. pourquoi ne les renvoie 'il pas .. ) =/
Bon je me suis attardé de nouveau sur le problème.. J'ai tout simplement refais ma base de données... Le mystère restera entier quand au paramètre qui à fait apparaître cette erreur ^^ Merci quand même !