[cake3] récuperer Auth->id depuis un model

Par Flitflit, il y a 10 ans


Bonjour,
Tout est dans le titre, depuis que Authcomponent::user('id') a disparu de cakephp3, j'ai l'impression qu'on ne peut plus le faire.
J'ai vraiment besoin de récuperer l'identifiant de l'utilisateur connecté depuis un beforeSave dans un model associé.
La solution qui consisterait à le mettre dans l'entity depuis le controller avant la methode save (du style $machin->userid = $this->Auth->user('id') ) ne peut pas fonctionner dans mon cas de figure.

4 réponses

Havok, il y a 10 ans

Hello.
Tu peux utiliser le plugin Footprint pour faire ça : https://github.com/UseMuffin/Footprint).

C'est un plugin développé par 2 développeurs du Core de CakePHP. Il permettra de faire ce que tu veux facilement à l'aide d'un behavior. Il marche sensiblement de la même manière que le behavior Timestamp du Core.
Son utilisation est détaillée dans le README.

Flitflit, il y a 10 ans

merci beaucoup, c'est dommage d'avoir rendu la chose si complexe.

Havok, il y a 10 ans

Je crois que la raison principale de ce retrait est que vu que la classe qui gère les sessions a été complètement "refactorée" pour 3.0 et qu'elle n'est plus static, ça aurait été compliqué à conserver. C'est en tout cas la raison principale évoquée dans la PR qui a amené le retrait de ces méthodes static.

Plus d'infos :

Flitflit, il y a 10 ans

En effet, merci pour ces précisions.