Doctrine gere les slugs

il suffit dans la structure yml d'inserer ces lignes :
actAs:
 Sluggable:
      unique: true
      fields: ['la colonne que tu veux slugger']
      canUpdate: true

Tu regeneres ton modele, doctrine se charge de gerer le nouveau champ slug.




Bonjours à tous,
j'ai un petit souci très embêtant.
Doctrine ne veux pas sauvegarder mes données.
je doit mettre a jour un champ de slug de ma base de donnée(via une
task).
j'ai donc ecrit ceci :

    $datas = Doctrine::getTable($table .Loc)->findAll();
    foreach ($datas as &$data) {
      $slug = Website::slugify($data->$fieldIn);
      $slug = ('n-a' == $slug) ? '' : $slug;
      $slug = ('en-attente' == $slug) ? '' : $slug;
      $data->set($fieldOut,$slug,true);
      echo 'field : ' . $data->id . ' lang : ' . $data->langue_id . '
slug : ' . $data->traduction_slug;
      echo "\r\n";
   }
   $datas->replace();

la signature de la methode slugify :
static public function slugify($text)
return (string) $text;

si je fait un var_dump du retour il ce trouve que c'est bien une
string.
j'ai changer le $datas->replace();
en $data->replace();(en le mettant dans le foreach et en supprimant le
passage par reference.
je fait du save() aussi.
j'ai recaster explicitement mon $slug un peu partout. Rien n'y fait.
par contre ôh miracle si je concatène $slug avec quelque chose(pas une
chaine vide) ca marche

$slug .= " C'est la loose";
$data->set($fieldOut,$slug,true);

Ceci fonctionne.
mais ne m’intéresse pas beaucoup.

et la j'ai plus d'idée, plus de piste de recherche de ce fait
j'implore l'aide extérieur.

Merci à tous

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
[email protected].
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
[email protected].
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à