trinvh
trinvh

Reputation: 1590

Translatable not insert when saving

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

Answers (1)

BKF
BKF

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

Related Questions