Salut, c'est normal. Les données sont intactes lors d'un var_dump/print_r,... mais tu peux voir le résultat final en encodant les données en JSON. (echo json_encode($post, JSON_PRETTY_PRINT))
Sinon effectivement, pour que ça prenne effet, il faut l'appeller avec un "$post->title". (principe du getter)
Si ça ne fonctionne toujours pas, dans quelle classe as-tu écrite ta méthode _getTitle? ^^
Bonjour à tous, je viens ici pour vous poser une petite question, après des tests du CakePHP\ORM disponible hors du corps de CakePHP, j'ai remarqué que les accesseurs & Mutateurs ne fonctionnez pas... Petite application tout basique est simple un système d'actualité.
- Un champ title (pour titre)
- Un champ content (pour contenu)
- Un champ pour category_id (L'ID de la catégorie)
Lors du débogue j'ai :
Mon "title", et en minuscule alors j'ai décidé de faire un _getTitle(){}
Je me retrouve donc avec cela :
Le _getTitle(); n'a donc pas été effectuer...
J'ai donc essayer :
Rien n'y fait...
Après avoir donc C/C (Copier/Coller) le code de la documentation : http://book.cakephp.org/3.0/fr/orm/entities.html#accesseurs-mutateurs
Rien ne ce passe non plus...
Auriez-vous une idée ?
Merci.
8 réponses
Bonjour, dans mon fichier Entity (Posts extends Entity), pour ma vue j'appelle : $post->title . ':' . $post->category->title;.
Quand au JSON ses le même que le "var_dump/print_r".
Post extends Entity, plutôt non (sans le s à Posts)? Vu ton object(App\Model\Entity\Post)[71].
Si le JSON te retourne le même résultat c'est que ta classe Entity (Post) n'est pas prise en compte.
Vérifie le namespace s'il est correct par rapport a ton architecture, le nom de la classe de ton entité…
En tout cas, chez moi ça fonctionne. (orm only)
Bonjour,
La fonction de récupération :
Mon fichier PostsTable :
Mon fichier Post :
Il me retourne toujours : 'title' => string 'mon premier article' (length=19) :(
Etrange.

Même en copiant ton code (en mettant mes namespace), j'arrive à avoir le résultat souhaité... (J'ai modifié title et slug dans mon cas.)
Oui, je trouve cela étrange aussi... J'utilise mon propre MVC avec le code de l'ORM de CakePHP j'espère que cela n'impact rien au bon fonctionnement de CakePHP..
Ceci étant dit j'ai repris le même code que sur le que sur votre screen cela ne fonctionne pas...
Controller.php:66-72 :
EDIT : J'ai modifié l'instance d'appel de mais modèle, je ne passe plus par une classe modèle, mais par le contrôleur (voir le code ci-dessus).
Après de nombreux tests, cela ne marche toujours pas... J'ai bon à regarder des vidéos, même celle de Grafikart sortie y a peu de temps... rien n'y fait, je perds totalement espoir.
EDIT : Après un /etc/init.d/apache2 restart, cela semble fonctionné ! Merci beaucoup à PhiSyX.