beforeFind cake 3

Par Natan Vbb, il y a 10 ans


Bonjour,

J'essaye de reproduire ce tutoriel: http://www.grafikart.fr/tutoriels/cakephp/dev-site-jour1-191
mais avec cakephp 3. Je n'arrive pas à faire fonctionner la fonction beforeFind sur l'Entity.
J'ai tout essayé dans les paramètres, je n'arrive pas à récupérer les données de mon find comme dans la video à 29 minutes.

Moi j'ai:

<?php namespace App\Model\Table; use Cake\Event\Event; use Cake\ORM\Table; class PagesTable extends Table{ public function beforeFind(Event $data){ var_dump($data); } }

Cela me retourne une erreur:

Fatal error: Maximum function nesting level of '100' reached, aborting! in /Applications/MAMP/htdocs/cakephp3/vendor/cakephp/cakephp/src/ORM/Table.php on line 2189

Merci de m'éclairer!

4 réponses

Natan Vbb, il y a 10 ans

Je précise que j'ai également testé:

class PagesTable extends Table{ public function beforeFind(Event $event, Query $data){ var_dump($data); } }

Toujours la même erreur.

connected, il y a 10 ans

Bonjour,

j'ai bien le même comportement que toi sur Cake 3 (3.0.9). Je ne sais pas d'où ça vient, par contre je peux bien utiliser la variable contenant la query.

Il semblerait que l'affichage créé une boucle infinie

Grafikart, il y a 10 ans

Et si tu met un : parent::beforeFind() dedans ?

connected, il y a 10 ans

Il n'existe pas de beforeFind dans Table. Du coup ça donne une erreur.