Bonjour,

Je suis en pleine apprentissage de Laravel 4 et j'aimerai générer un slug mais je ne sais comment faire. J'ai essaié avec Str::slug() mais j'obtiens cette erreur "Attempt to assign property of non-object".

Pour information j'ai ajouté cette ligne à mon controller "use Illuminate\Support;".

5 réponses


Benjamin Derepas
Réponse acceptée

Ton erreur signifie que l'élément traité n'est pas un objet ...
Débug donc l'élément que tu veux "sluger" et montres nous ce qu'il retourne ?

palmer08
Auteur
Réponse acceptée

Bon j'ai changé ma manière de générer le slug et ça fonctionne.

J'ai codé ceci $article->slug = Str::slug(Input::get('title')) alors que tout à l'heure je tapé $article->slug = Str::slug($article->title) donc la valeur $article->title était nul malgré lui affectant Input::get('title').

Pour accéder à $article->title il faut qu'il soit enregistré au préalable.

Par exemple tu fait un $article->save() et ensuite seulement tu pourras accéder à $article->title, tant qu'il n'est pas sauvegarder, l'objet ne contient pas title puisqu'il viens d'un formulaire.

Bonjour, j'ai besoin d'aide depuis que j'utilise nginx ma commande $post->slug = 'nouvel-application'; ne s'affiche pas sur ma base de données HeidiSQL j'ai rechercher mais sans aucune réponse, si vous avez la solution merci de me le faire savoir.
Bonne continuation a vous. Jess

c'est bon j'ai refait le tuto et tout marche nikel a part que findOrFail me met une erreur not found in class App\Post ??