I have in model:
use seoTrait;
protected $fillable = [
'name', 'title', 'description'
];
I created trait “seoTrait” which need “seoMeta” in $fillable.
Now I add :
protected $fillable = [
'name', 'title', 'description', 'seoMeta'
];
But is it possible in trait “seoTrait” add something to $fillable ?
Advertisement
Answer
Since Laravel 5.7, you can initialize a model trait with a magic initializeTraitName method on the trait which allow access to the model instance.
trait SeoTrait
{
public function initializeSeoTrait()
{
$this->fillable[] = 'seoMeta';
}
}