Reputation: 1590
I have a weir issue with translatable. I have two main model used translatable, the first one work perfectly. The second dont work anymore. I spent 2 days for rewrite, compare between 2 models but nothing happends.
Here is my code
class Page extends Model {
use Translatable;
use SoftDeletes;
use \App\Classes\Scope;
public $translatedAttributes = ['name', 'content', 'slug', 'keyword', 'description'];
protected $fillable = ['compiler', 'status', 'permission'];
protected $table = "pages";
public static $rules = [
'*.name' => 'required',
'*.content' => 'required',
];
}
class PageTranslation extends Model {
protected $fillable = ['name', 'slug', 'content', 'keyword', 'description'];
public $timestamps = false;
}
In controller
public function store(Request $request) {
$this->validate($request, Page::$rules);
$inputs = $request->all();
$inputs['status'] = $request->has('status');
$newPage = Page::create($inputs);
return view('backend.pages.create')->withPage($newPage);
return redirect()->back()->withFlashSuccess('Saved successfully');
}
Only page was inserted, page_translations dont insert anymore. No error shown.
Please tell me what i was wrong! Anyhelp is appreciated.
Upvotes: 0
Views: 74
Reputation: 1366
You should put all fillables you need into "pages" table : Try this :
class Page extends Model {
use Translatable;
use SoftDeletes;
use \App\Classes\Scope;
public $translatedAttributes = ['name', 'content', 'slug', 'keyword', 'description'];
protected $fillable = ['name', 'content', 'slug', 'keyword', 'description', 'compiler', 'status', 'permission'];
protected $table = "pages";
public static $rules = [
'*.name' => 'required',
'*.content' => 'required',
];
}
Please let me know if it works :)
Upvotes: 1