首页 > 解决方案 > 使用 Astrotomic / laravel-translatable 包和 laravel 添加多种语言

问题描述

我是 laravel 的新手,使用 Astrotomic / laravel-translatable 包进行翻译我想同时添加两种语言时遇到问题。我有name_en,name_ar,discription_an,disriptionar作为输入字段。我收到此错误Creating default object from empty value ,所以我该如何解决我的问题这是包链接https://github.com/Astrotomic/laravel-translatable

// start add data
    public function store(CategoryRequest $request)
    {
    
            // prepare data
            $validatedData = array(
                'url' => $request->url,
                'slug' => $request->slug,
                'status' => $request->status,
                'last_updated_by' => auth('admin')->user()->id,
                'created_by'      => auth('admin')->user()->id,
                'created'         => time(),
            );
            $translated = array(
                'name_en' => $request->name_en,
                'name_ar' => $request->name_ar,
                'description_en' => $request->description_en,
                'description_ar' => $request->description_ar,
            );
            //start define categoru is sub or main
            $request ->sub ==1 ?  $validatedData['parent_id'] = $request ->category_id: $validatedData['parent_id']=null;
            // start update data
            DB::beginTransaction();
            $add = Category::create($validatedData);
            $id = $add->id;
    
            // strat update category report
            $categoryReport = CategoryReport::create(
                ['status'           =>$validatedData['status'],
                 'category_id'      =>$id,
                 'created_by'       =>$validatedData['created_by']
                 ,'last_updated_by' =>$validatedData['last_updated_by']]);
            $add->translate('ar')->name = $translated['name_ar'];
            $add->translate('en')->name = $translated['name_en'];
            $add->translate('ar')->description = $translated['description_ar'];
            $add->translate('en')->description =$translated['description_en'];
            $add ->save();
        DB::commit();
            return redirect()->back()->with('success','تم اضافه البيانات بنجاح');
    
    
    }

标签: laravellaravel-5eloquent

解决方案


推荐阅读