Bonjour,

J'essaye actuellement de faire un simpte muttateur qui va générer le slug automatiquement à partir du nom de l'article lors de la création :

namespace App\Entity\Post

protected function _setName($name)
  {
    if (!$this->slug) {
      $this->set('slug', strtolower(Text::slug($name)));
    }
    return $name;
  }

au moment de la sauvegarde dans le controller, je fait un :

public function store()
  {
    if ($this->request->data()) {
      $post = $this->Posts->newEntity($this->request->data);
      if (!$post->errors()) {
        $this->Posts->save($post);
        $this->Flash->success("L'article a bien été créé.");
        return $this->redirect(['action' => 'index']);
      }
      $this->Flash->error("L'article n'a pas pu être sauvegardé.");
    }
  }

Normalement, le slug doit être sauvegardé en BDD, c'est aussi le but des muttateur ?

Merci d'avance

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

1 réponse


Je me demande si ça n'est pas parseque j'exécute la sauvegarde dans le controller du namespace Admin ?