Bonjour,
Voila je rencontre un petit problème avec mon code.
J'ai un formulaire pour poster des articles. Dans le formulaire j'ai un champ qui a pour name=title, un champ de type=hidden qui a pour name
slug et value="". Maintenant dans mon model Article J'ai crée un Mutateur pour générer automatiquement le slug grâce au title
<?php
namespace ndf;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str;
class Article extends Model
{
protected $fillable = ['id', 'title', 'slug', 'url', 'content', 'in_top', 'author', 'status', 'comment_status',
'online', 'brouillon', 'modified_at', 'modified_at_gmt', 'comment_count', 'category_id',
'created_at', 'updated_at'];
public function category()
{
return $this->belongsTo('ndf\Category');
}
public function setSlugAttribute($value)
{
if (!empty($value)) $this->attributes['slug'] = "";
return $this->attributes['slug'] = Str::slug($this->title);
}
Je veux que le Mutateur genère le slug grâce au title
Quand je $this->title je n'obtiens aucune valeur. Ce qui empêche la création du slug.
Salut,
public function setTitleAttribute($value)
{
$this->attributes['slug'] = str_slug($value);
}
Passes directement dans l'attribut title pour générer le slug ;)