Aşağıdaki gibi; Page modeline Translatable paketini ekledim.
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Astrotomic\Translatable\Contracts\Translatable as TranslatableContract;
use Astrotomic\Translatable\Translatable;
class Page extends Model implements TranslatableContract
{
use SoftDeletes;
use HasFactory;
use Translatable;
protected $fillable = [
];
protected $translatedAttributes = [
'title',
'content',
'meta',
'status',
'slug'
];
public function albums()
{
return $this->belongsToMany(Album::class);
}
public function collections()
{
return $this->belongsToMany(Collection::class);
}
}
PageController'da da şu şekilde kayıt ediyorum.
public function store(PageRequest $request)
{
$request->validated();
$request['status'] = $request->boolean('status');
$page=Page::create($request->all());
$page->albums()->attach($request->input('albums'));
$page->collections()->attach($request->input('collections'));
return redirect(route('backend.pages.index'))->with('success', 'Sayfa oluşturuldu.');
}
Hal böyle olunca $fillable değişkeni boş olmak zorunda kaldı, çünkü bütün alanlar translatedAttributes dizisine eklendi.
Boş olunca da "Add [_token] to fillable property to allow mass assignment on [App\Models\Page]." hatasını alıyorum.
Nasıl yapmalıyım?
Bütün alanlar $translatedAttributes alanında ve fillable alanı boş olmak durumunda gibi görünüyor.