laravel天文可翻译语言环境返回null

问题描述

错误说明 我试图使用spatie / laravel-translatable,并通过命令将其删除 composer remove spatie/laravel-translatable 我手动删除了config / translatable.PHP文件

我按照以下链接中提到的安装说明安装了astrotomic / laravel-translateable: https://docs.astrotomic.info/laravel-translatable/installation

我编辑config / translatable.PHP文件的语言环境和语言环境数组

'locales' => [
        'ar','en','tr',],'locale' => 'ar',

错误:1我尝试访问语言环境,但返回null config('translatable.locales')返回null current()也返回null

我试图在数组变量中输入语言环境,而不是从config / translatable.PHP获取它们。

  @PHP
 // $locales = config('translatable.locales') ;
$locales=['ar','tr'];
@endPHP

@foreach ( $locales as $locale )
<div class="form-group">
<label for="name">@lang('site.'.$locale.'.name')</label>
<input type="name" class="form-control" name="{{ $locale }}[name]"
placeholder=" @lang('site.enter-name')" value="{{ old( $locale.'.name') }}">
</div>
@endforeach
// CategoryController.PHP

    public function store(Request $request)
    {
        $request->validate([
            'ar.*' => 'required',]);

        Category::create($request->all());
        session()->flash('success',__('site.added-successfuly'));
        return redirect()->route('adminDashboard.categories.index');
    }

错误2:运行应用程序时,它将引发以下异常:

请确保您已运行PHP artisan vendor:publish --provider="Astrotomic\Translatable\TranslatableServiceProvider"并定义了语言环境配置。

预期的行为 在category_translations中找到三个具有相同category_id和三个不同区域设置值(ar,en,tr)的值

屏幕截图 exception screen shot

模型

// Category Model
namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Astrotomic\Translatable\Contracts\Translatable as TranslatableContract;
use Astrotomic\Translatable\Translatable;

class Category extends Model
{
    use Translatable;

    public $translatedAttributes = ['name'];
}
//CategoryTranslation Model

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class CategoryTranslation extends Model
{
    public $timestamps = false;
    protected $fillable = ['name'];
}

版本

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)