【问题标题】:Translatable not insert when saving保存时可翻译不插入
【发布时间】:2016-04-10 09:25:08
【问题描述】:

我对可翻译有一个奇怪的问题。我有两个使用可翻译的主要模型,第一个工作完美。第二个不再工作了。我花了 2 天的时间进行重写,比较了 2 个模型,但什么也没发生。

这是我的代码

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;
}

在控制器中

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');
}

仅插入页面,不再插入 page_translations。没有显示错误。

请告诉我我做错了什么!任何帮助表示赞赏。

【问题讨论】:

    标签: laravel localization laravel-localization


    【解决方案1】:

    你应该把你需要的所有填充物放入“页面”表中: 试试这个:

    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',
    ];
    }
    

    如果它有效,请告诉我:)

    【讨论】:

    • 太棒了,谢谢。我不认为可填写接受其他表中的字段。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-03
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多