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